0

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

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

4

1 回答 1

1

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

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

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

我不太清楚你的意思。

于 2013-08-29T12:55:58.360 回答