2012-02-12 60 views
1

我是否必須將gl_Position映射到(-1,-1),(1,1)之內才能讓它出現在屏幕上?還是什麼?即左上方是(-1,-1),而右下方是(1,1)GLSL座標空間?

在我剛剛使用我的圖書館的CreatePerspectiveFieldOfView之前,它爲我完成了所有的轉換,但現在我正在編寫自己的作品,並且我不太清楚我需要將這些座標映射到什麼地方...

回答

1

gl_Position是一個4-向量,所以它不僅僅是這兩個元素,通常命名爲x,y,z和w。剪切時,座標被剪切爲[-w,w],換句話說,在歸一化後(將每個座標除以w),剪切爲[-1,1]。所以標準化的座標被立方體(-1,-1,-1) - (1,1,1)剪切(除非你已經定義了更多的剪輯平面)。

有關裁剪的更多信息,請閱讀

http://www.opengl.org/documentation/specs/version1.1/glspec1.1/node28.html

+0

右邊...我建立一個2D HUD,所以我忘了Z和W我總是設置爲1.0反正。這就說得通了。謝謝! – mpen 2012-02-12 23:19:11

相關問題