我期待gl_Position自動進行均勻化(除以w),但它似乎不起作用。爲什麼以下方法會產生不同的結果?在OpenGL頂點着色器中,gl_Position不會被均勻化
1) void main(){ vec4 p; ...省略... gl_Position = projectionMatrix * p; }
2) ...與上面相同... p = projectionMatrix * p; gl_Position = p/p.w;
我認爲這兩個應該會產生相同的結果,但它似乎並非如此。 1不能正常工作,而2正如預期的那樣工作。這可能是精確度問題嗎?我錯過了什麼嗎?這讓我幾乎瘋狂......需要幫助。提前謝謝了!
屏幕截圖?你的意思是「不起作用」? – 2010-04-17 02:30:13
它不會在屏幕上顯示任何內容,因爲座標沒有變得均勻,而2則正確顯示結果。我將很快發佈屏幕截圖。謝謝! – Kay 2010-04-22 20:30:13