【问题标题】:In opengl, Can I use two MatrixMode at the same time?在opengl中,我可以同时使用两个MatrixMode吗?
【发布时间】:2020-04-02 20:55:50
【问题描述】:

我的问题很简单。我想知道我是否可以同时使用 GL_MODELVIEW 和 GL_PROJECTION ?

【问题讨论】:

  • 在传统 OpenGL 中,每个顶点坐标由当前模型视图矩阵转换,然后由当前投影矩阵转换。注意,甚至有 4 个当前矩阵:GL_MODELVIEWGL_PROJECTIONGL_TEXTUREGL_COLOR。见glMatrixMode“同时使用”是什么意思?您不能“使用”它们,矩阵会自动应用于顶点属性,除非您使用着色器。但是如果你使用着色器,那么你根本不应该使用遗留矩阵。

标签: c++ opengl graphics opengl-compat


【解决方案1】:

模型视图和投影矩阵始终处于活动状态,即您绘制的顶点位置乘以两者。

glMatrixMode 只影响调用矩阵相关函数(glLoadIdentity|Rotate|Translate 等)时修改哪个矩阵。那些总是修改两个矩阵之一,永远不会同时修改。

【讨论】:

    猜你喜欢
    • 2021-04-19
    • 2020-10-03
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    相关资源
    最近更新 更多