我有一个使用OpenGL ES 1.1渲染的示例3D场景。 这是我得到身份投影矩阵时得到的结果(我也使用普通和高光贴图):
所以一切看起来都不错。
但如果我使用glFrustum
设置透视图,我会得到:
所以似乎法线正在倒置,如果我试图将它们乘以-1,我得到这个:
它的效果就像光线来自对面。
我还应该提一下,当使用身份投影矩阵时,我必须设置
glCullFace(GL_FRONT);
(我认为这是因为标准化的设备坐标是左撇子)。
我很乐意听到有关如何解决此问题的任何建议。
编辑。 这是投影设置:
float right = 0.03;
float top = 0.045;
float near = 0.1;
float far = 100.0;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustumf(-right, right, -top, top, near, far);
答案 0 :(得分:0)
你的第二个截图看起来没问题,我看不出你的问题在哪里。请在第二张图片中突出显示您认为不正确的内容。
请记住,在投影矩阵中,应该只有投影和相机放置类型。 “相机放置”属于模型视图。