GLSL坐标空间



我必须将gl_Position映射到(-1,-1),(1,1)中才能显示在屏幕上吗?即(-1,-1)是左上角,(1,1)是右下角?

以前我只是使用我的库的CreatePerspectiveFieldOfView,它为我处理了所有的转换,但我现在正在编写自己的转换,我不太确定我需要将坐标映射到什么…

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

最新更新