在DirectX 9.0c中更改预转换网格的深度缓冲区限制

时间:2011-04-17 16:40:48

标签: directx zbuffer

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

顶点的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缓冲区吗?

1 个答案:

答案 0 :(得分:0)

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