我有一個使用OpenGL ES 1.1呈現的示例3D場景。 這裏是我所得到的,當我是有身份的投影矩陣(我還使用正常和鏡面地圖):OpenGL透視和照明問題
所以一切看起來OK。
但如果我使用glFrustum
設置角度來看,我得到這樣的:
如此看來,法線被反轉,如果我嘗試用-1乘他們,我得到這個:
它有一個像來自對面的光的效果。
我還要提到的是使用身份投影矩陣,當我有設定
glCullFace(GL_FRONT);
(我想這是因爲標準化的設備COORDS是左撇子)。
我很樂意聽到有關如何解決此問題的任何建議。
編輯。 這裏是投影設置:
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);
將您的法線重新導出朝向正確的方向? –
你不應該改變'glCullFace(GL_FRONT)'。也許你的投影矩陣是顛倒臉?向我們展示你的'glFrustum'調用。這是你改變的東西嗎? –
@Banthar - 我使用glCullFace(GL_FRONT)進行標識投影,而不是透視。查看我的編輯。 – Max