DirectX 11 中的 pd3dDevice 是啥?
Posted
技术标签:
【中文标题】DirectX 11 中的 pd3dDevice 是啥?【英文标题】:What is pd3dDevice in DirectX 11?DirectX 11 中的 pd3dDevice 是什么? 【发布时间】:2022-01-15 21:37:33 【问题描述】:我目前正在为一个大学项目尝试在 DirectX 11 中使 UI 透明,并且正在查看 Microsoft 文档中的混合状态和其他资源。我不断遇到pd3dDevice
,我真的迷失了它是什么。我找了很多地方只是为了看到人们在使用它,但没有提及它是什么。
我首先在这里找到它:Configuring Blending Functionality: Create the Blend State,我正在尝试找到一种使用它或以任何方式访问它的方法,但我找不到它是什么或它引用了什么。
ID3D11BlendState1* g_pBlendStateNoBlend = NULL;
D3D11_BLEND_DESC1 BlendState;
ZeroMemory(&BlendState, sizeof(D3D11_BLEND_DESC1));
BlendState.RenderTarget[0].BlendEnable = FALSE;
BlendState.RenderTarget[0].RenderTargetWriteMask =
D3D11_COLOR_WRITE_ENABLE_ALL;
pd3dDevice->CreateBlendState1(&BlendState, &g_pBlendStateNoBlend);
【问题讨论】:
首先我要问你对 DirectX 11 了解多少?你能创建一个基本的应用程序吗?因为如果可以,你就不会问这个问题。为了回答你的问题,我会说在做任何事情之前先学习 DirectX 的基础知识,所以我建议你阅读 Frank Luna 的“使用 DirectX 11 进行 3D 游戏编程简介” 【参考方案1】:这是ID3D11Device1*
。
要找到这个,除了p
代表“指针”的名称之外,只需谷歌搜索该方法,因为它通常具有足够的判别力,例如,这里CreateBlendState1
将引导您到ID3D11Device1::CreateBlendState1
【讨论】:
这是 字面意思在 OP 链接到的文档中说明的,就在引用的代码 sn-p 的正上方:“混合状态是用于控制混合。这些状态(在D3D11_BLEND_DESC1
中定义)用于通过调用ID3D11Device1::CreateBlendState1 创建混合状态对象。"
@RemyLebeau - 这对你(和我)来说可能很明显,但对于不了解 pd3dDevice 是什么的 OP 来说显然不是,这就是我给出额外提示的原因。以上是关于DirectX 11 中的 pd3dDevice 是啥?的主要内容,如果未能解决你的问题,请参考以下文章
DirectX11第二篇 DirectX11渲染管线(2016.05.09更新)