我正在绘制一个带有一些物体的场景(Direct3D),最后,我想绘制另一个物体(红色茶壶),它将位于所有其他物体的前面。 以下是截图:screenshot
我使用'RenderState.ZBufferFunction = Compare.NotEqual'来做到这一点,但这会毁掉红茶壶。有没有办法解决这个问题?
答案 0 :(得分:1)
一个选项是清除z缓冲区,然后渲染红色茶壶。听起来好像你仍然需要在渲染茶壶时进行深度测试(因为茶壶的位需要针对茶壶的其他位进行测试),但是你想要忽略之前渲染过的所有东西。最简单的安排方法是在其他所有东西之后和红茶壶之前清除z缓冲区。