在glviewport上设置左侧和底部

时间:2012-12-29 10:15:14

标签: opengl opengl-es opengl-es-2.0

如果glviewport将left和bottom设置为零,那么为什么会显示负顶点?

例如glviewport(0,0, width,height)

这意味着我只在X和Y为零或更大时设置视图以查看事物。但当然实际情况并非如此,所以我不清楚这个电话的确切坐标系是什么。

1 个答案:

答案 0 :(得分:2)

glViewport()通过定义从标准化坐标(也称为剪辑空间(即视锥体在x / y中为-1到1)的变换)来定义将被绘制的窗口区域。屏幕(像素)坐标。它只是一个2D变换,缩放并将3D流水线的结果偏移到可以光栅化的东西上。改变它不会改变可见的东西,而只会改变它的最终位置。

投影矩阵(与先前已应用的其他变换相结合)定义了点首先如何转换为剪裁空间,从而确定世界的哪个部分实际可见。

因此,如果您的投影矩阵使用负坐标转换点,使得它们位于视锥体内,则在应用视口时它们仍然可见。