我一直在阅读openGL 1.5的规范,并且看到任何对曾经是一个变量的引用都持有对ModelView矩阵的引用(比如gl_ModelViewMatrix)已被弃用,并且只能在某种兼容性方面使用模式(我的GPU上不支持)。
我已经看到一些示例首先检索ModelView矩阵或创建一个,然后将其作为统一变量发送回GPU。
现在这一切似乎都落后于我;即使对于简单的顶点着色器,在许多情况下,您也希望在几何体上使用某种变换。
所以我现在真的很想知道;是否有任何方法从顶点着色器中使用GLSL 1.5获取当前的ModelView矩阵?
答案 0 :(得分:4)
OpenGL-3核心完全丢弃了矩阵堆栈,即内置模型视图,投影,纹理和颜色矩阵。现在,您可以通过自己选择的制服实现矩阵数学并提供矩阵。
答案 1 :(得分:0)
核心openGL中没有内置矩阵系统/ lib - 自3. +版本。 很多人对openGL中的“巨大变化”有类似的(坏的)意见。
您必须使用自己的一组函数来执行矩阵计算。请参阅以下图书馆:GLM或lighthouse3D。
总而言之,在学习时在OpenGL中使用矩阵函数非常有用。现在你必须寻找其他解决方案...... 另一方面,对于通常拥有自己的数学库的游戏引擎或游戏框架来说,这不是问题。因此,对于他们来说,“新”OpenGL更容易使用。