如何创建深度模板视图?
How do I create a depth stencil view?
我正在制作 SharpDX 游戏,但我不知道如何制作深度模板视图。公平地说,我也不知道它是什么。我在网上找遍了所有可以找到的地方,但我所做的一切都以黑屏告终。
谁能告诉我如何制作深度模板视图,或者告诉我一个不会出现黑屏的方法?
编辑:
我重写了代码,但我不知道我做了什么,但现在可以了。
A DepthStencilView
实际上是指向存储 depth/stencil 的 buffer/image 的指针。
您在这里缺少概念。
首先,使用 D3D11_BIND_DEPTH_STENCIL
BindFlags 和 depth/stencil 图像格式(通常使用 DXGI_FORMAT_D24_UNORM_S8_UINT
)创建一个二维图像(纹理) .
一旦您拥有可以绑定为 DepthStencil 输出的 D3D11 2D 纹理,您就可以创建资源视图,然后将其绑定到输出合并 (ID3D11DeviceContext::OMSetRenderTargets (...)
)。
我正在制作 SharpDX 游戏,但我不知道如何制作深度模板视图。公平地说,我也不知道它是什么。我在网上找遍了所有可以找到的地方,但我所做的一切都以黑屏告终。
谁能告诉我如何制作深度模板视图,或者告诉我一个不会出现黑屏的方法?
编辑: 我重写了代码,但我不知道我做了什么,但现在可以了。
A DepthStencilView
实际上是指向存储 depth/stencil 的 buffer/image 的指针。
您在这里缺少概念。
首先,使用 D3D11_BIND_DEPTH_STENCIL
BindFlags 和 depth/stencil 图像格式(通常使用 DXGI_FORMAT_D24_UNORM_S8_UINT
)创建一个二维图像(纹理) .
一旦您拥有可以绑定为 DepthStencil 输出的 D3D11 2D 纹理,您就可以创建资源视图,然后将其绑定到输出合并 (ID3D11DeviceContext::OMSetRenderTargets (...)
)。