【问题标题】:How do I create a depth stencil view?如何创建深度模板视图?
【发布时间】:2020-12-12 14:01:03
【问题描述】:

我正在制作 SharpDX 游戏,但我不知道如何制作深度模板视图。公平地说,我也不知道它是什么。我在网上找遍了所有可以找到的地方,但我所做的一切都以黑屏告终。

谁能告诉我如何制作深度模板视图,或者指出一种不会给我黑屏的方法?

编辑: 我重写了代码,我不知道我做了什么,但它现在可以工作了。

【问题讨论】:

  • 你看过this thread吗?
  • 是的@ChuckWalbourn 我有

标签: c# directx-11 sharpdx direct3d11 depth-testing


【解决方案1】:

DepthStencilView 实际上是指向存储深度/模板的缓冲区/图像的指针。

您在这里缺少概念。

首先,使用D3D11_BIND_DEPTH_STENCIL BindFlags 和深度/模板图像格式(通常使用DXGI_FORMAT_D24_UNORM_S8_UINT)创建一个二维图像(纹理)。

一旦您拥有可以绑定为 DepthStencil 输出的 D3D11 2D 纹理,您就可以创建资源视图,然后将其绑定到输出合并器 (ID3D11DeviceContext::OMSetRenderTargets (...))。

【讨论】:

  • 还要确保深度/模板缓冲区的分辨率与您的渲染目标(可能是交换链后缓冲区)相同。
猜你喜欢
  • 2016-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-27
  • 1970-01-01
  • 2019-08-12
  • 1970-01-01
相关资源
最近更新 更多