【问题标题】:What's the difference between these matrix modes?这些矩阵模式有什么区别?
【发布时间】:2009-02-16 12:08:40
【问题描述】:

GL_PROJECTION and GL_MODELVIEW.

我知道还有其他人,但从概念上讲,我无法弄清楚它们之间的区别。设置模式后加载单位矩阵时,单位矩阵根据模式有什么不同?

【问题讨论】:

    标签: opengl theory


    【解决方案1】:

    可以说GL_PROJECTION 用于设置相机 的样子、广角镜头等,也可以说GL_MODELVIEW 用于设置对象 是要绘制的,比如空间的大小和位置等。

    要定位相机,请查看gluLookAt 函数...

    【讨论】:

    • "GL_PROJECTION 用于设置摄像头。在哪里”这被称为“OpenGL 矩阵滥用”:“当有人确实将他们的摄像头变换放入 GL_PROJECTION矩阵(而不是进入它所属的 GL_MODELVIEW)”,搜索它。
    • 是的,你是对的。我会删除那部分。我只是想用 novis 的方式来think 了解这两个堆栈。我已经编写 OpenGL 10 多年了,我认为这是一段旅程……
    【解决方案2】:

    矩阵模式不会改变矩阵本身,所以单位矩阵在任何地方都是单位矩阵。

    矩阵模式改变哪个矩阵下面的命令操作。也就是说,任何后续命令是否适用于投影矩阵、模型*视图矩阵或纹理矩阵等。

    这听起来可能有点令人困惑,但这是 OpenGL 的设计决策之一 - 有一堆命令对某个状态或对象进行操作,只有其他状态设置才能确定它们对哪个对象进行操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-22
      • 2020-06-28
      • 1970-01-01
      • 2020-07-11
      • 1970-01-01
      • 2011-07-25
      • 2013-01-16
      相关资源
      最近更新 更多