GLSL坐标空间?

时间:2012-02-12 22:51:14

标签: opengl glsl

我是否必须将gl_Position映射到(-1,-1),(1,1)以使其显示在屏幕上,或者是什么?即,左上角为(-1,-1),右下角为(1,1)

在我刚刚使用我的库CreatePerspectiveFieldOfView之前,它为我完成了所有的转换,但我现在正在编写自己的转换器,而且我不太确定我需要将坐标映射到哪里。 ..

1 个答案:

答案 0 :(得分: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