【发布时间】:2010-12-30 21:54:00
【问题描述】:
我只是不明白 OpenGL 的 glMatrixMode 是干什么用的。
据我所知,当glMatrixMode(GL_MODELVIEW) 被调用时,它
紧随其后的是glVertex、glTranslate、glRotate等,
也就是说,OpenGL 命令将一些对象放置
空间。另一方面,如果glOrtho 或glFrustum 或gluProjection
被调用(即放置的对象如何渲染),它有一个前面的调用glMatrixMode(GL_PROJECTION)。
我想我到目前为止所写的是一个假设,有人会证明它 我错了,但不是完全使用不同的矩阵模式的点 因为有不同种类的 gl 函数:那些与 放置对象以及对象的渲染方式?
【问题讨论】:
-
请注意,这已经被弃用了,你应该只使用着色器和显式制服,从 OpenGL 3.1 开始。例如,OpenGL ES 2.0 根本不支持 glMatrixMode() 和类似的。 (当然,除非你有很多代码可以做到这一点和/或需要支持旧的硬件/驱动程序。)
-
而
glVertex应该被认为从 OpenGL 1.0 开始已被弃用。 :) -
当您提到不推荐使用的东西时,还请提及现代替代品是什么,因为没有它提供的信息不多。
-
@Kos 来自 OpenGL 1.1。第一个替代方案——
glDrawArrays——仅在那时出现。
标签: opengl