如何修改或覆盖 OpenGL 中的透视分割计算?
也可以在 OpenGL 的矩阵中使用 x、y、z 和 w 作为变量吗?
如何修改或覆盖 OpenGL 中的透视分割计算?
也可以在 OpenGL 的矩阵中使用 x、y、z 和 w 作为变量吗?
如何修改或覆盖 OpenGL 中的透视分割计算?
你不能。它是 OpenGL 中为数不多的“硬连线”(或实际上在现代 GPU 上硬编码)的东西之一。但这没问题。只需gl_Position.w = 1
在顶点着色器的最后设置,这将有效地使透视分割成为无操作。但是,您也没有透视,因此您也必须在顶点着色器中实现它。您可以编写gl_Position /= gl_Position.w;
为顶点着色器中的最后一条语句来自己进行透视划分,并绕过内置的划分。
也可以在 OpenGL 的矩阵中使用 x、y、z 和 w 作为变量吗?
我不太清楚你的意思。