0

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

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

4

1 回答 1

0

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

于 2011-04-17T20:30:19.667 回答