【问题标题】:Change depth buffer limits for pretransformed mesh in DirectX 9.0c在 DirectX 9.0c 中更改预转换网格的深度缓冲区限制
【发布时间】:2011-04-18 04:30:19
【问题描述】:

我正在编写一个小型应用程序,它接收预先转换的顶点并将它们显示在屏幕上。

顶点的 FVF 定义为(我无法更改)

#define MY_FVF D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_TEX1

Z 缓冲区是通过 D3DPRESENT_PARAMETERS 的字段创建的(这是可变的)

d3dpp.EnableAutoDepthStencil = TRUE;
d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8;

问题是我得到了非常短的远剪裁平面(每个网格都在距相机 1.0f 处剪裁)。我不能使用矩阵投影(正如我所说,我已经得到了预变换的顶点)。有没有办法设置深度缓冲区限制?或者有没有其他方法可以在预转换的顶点上使用长远裁剪平面的 z 缓冲区?

【问题讨论】:

    标签: directx zbuffer


    【解决方案1】:

    解决了,问题完全潜伏在其他地方:我从外部源接收的网格在 1.0f 处被切割

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多