OpenGL-如何在全局轴上旋转对象?

时间:2019-12-10 06:18:39

标签: opengl pyopengl opengl-compat

我正在尝试根据键盘输入沿全局轴旋转对象。我当前的函数有效,但是连续旋转是在旋转轴而不是全局轴上完成的。我知道解决方案涉及操纵矩阵,但是我仍在学习并且不知道该怎么做。

我曾尝试使用glPushMatrix和glPopMatrix,但我认为我在某个地方缺少矩阵乘法。

def Render(screen):
    global _current
    global _pos
    global _angles

    m = glGetDouble(GL_MODELVIEW_MATRIX)

    glTranslate(*_pos)

    glRotatef(_angles[0], 1, 0, 0)
    glRotatef(_angles[1], 0, 1, 0)
    glRotatef(_angles[2], 0, 0, 1)

    _current.Render(screen)
    glLoadMatrixf(m)

0 个答案:

没有答案