我正在尝试使用OpenGL着色语言(GLSL) 1.5版本制作顶点和几何着色器。
我了解到在GLSL 1.5版本中,像gl_ModelViewProjectionMatrix
这样的内置变量被弃用了,所以你必须手动传递它们。如果我已经设置了模型视图和投影矩阵(例如使用gluLookAt
和gluPerspective
),那么我该如何获取这些矩阵并传递给顶点和几何着色器呢?我进行了一些搜索,一些网站似乎提到了一个glGetMatrix()
函数,但我在任何官方文档中都找不到这个函数,并且在我使用的实现中似乎不存在这个函数(当我尝试编译带有该函数的代码时,会出现编译错误未知标识符:glGetMatrix
)。
std::vector<matrix>
,并使用glUniformMatrix4fv
传递最顶部的矩阵对象。你可以创建多个矩阵堆栈,并且能够决定如何在着色器中使用每一个。 - KosGL_QUADS
的一个好替代品!) - Mason Wheeler