【发布时间】: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 缓冲区?
【问题讨论】: