lwjgl背面渲染无论缠绕

时间:2013-10-27 00:43:30

标签: opengl 3d lwjgl

我正在使用lwjgl处理一个3d引擎,我正在尝试渲染一个简单的立方体,但只有面向外的面部正在渲染,就像面部以错误的方式缠绕,并且没有将面部缠绕在另一面上方法或使用glFrontFace改变opengl的缠绕方向可以解决问题。

有谁知道造成这种情况的原因是什么?

Here's a screenshot of the cube

我的投影矩阵是:

(1/tan(fov*0.00872))/aspect  0                   0                0
0                            1/tan(fov*0.00872)  0                0 
0                            0                   -far/(far-near)  (far*near)/(far-near)
0                            0                   1                0

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。而不是深度缓冲区在0到1的范围内,它在0到-1的范围内以某种方式(我不知道如何)。使用GL_LEQUAL作为深度函数会导致渲染更多的面而不是更接近的面,并且使用GL_GEQUAL导致无法渲染任何内容,因为深度为0的背景始终大于场景中的任何内容。我使用GL_GEQUAL修正了问题,并使用GL11.glClearDepth();

将默认背景深度设置为-1