如何创建深度模板视图?

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 (...))。