如何在OpenGL中修改透视分区?

时间:2013-08-29 12:39:21

标签: opengl coordinates perspective vanishing-point homogenous-transformation

如何在OpenGL中修改或覆盖透视分割计算?

还可以在OpenGL中使用x,y,z和w作为矩阵中的变量吗?

1 个答案:

答案 0 :(得分:1)

  

如何在OpenGL中修改或覆盖透视分割计算?

你做不到。它是OpenGL中为数不多的几个“硬连线”(或实际硬编码的现代GPU)之一。但那没问题。只需在顶点着色器的最后设置gl_Position.w = 1,这将有效地使透视划分为无操作。但是,您也没有透视图,因此您必须在顶点着色器中实现它。您可以将gl_Position /= gl_Position.w;写为顶点着色器中的最后一个语句,以自己进行透视划分,并绕过内置的鸿沟。

  

还可以在OpenGL中使用x,y,z和w作为矩阵中的变量吗?

我不太清楚你的意思。