OpenGL摄像头一直围绕原点旋转

时间:2018-10-23 11:14:40

标签: python opengl pyopengl

此代码中没有错误,但是当我运行代码时,相机很好,我可以四处看看。我一移动,它就会围绕其生成的原点开始旋转。

相机代码: http://hatebin.com/iiceqotcpu

主要代码mouse_callback

def mouse_callback(window, xpos, ypos):
    global first_mouse,lastX, lastY
    if first_mouse:
        lastX = xpos
        lastY = ypos
        first_mouse = False

    xoffset = xpos - lastX
    yoffset = lastY - ypos

    lastX = xpos
    lastY = ypos

    cam.process_mouse_movement(xoffset, yoffset)

1 个答案:

答案 0 :(得分:2)

视图矩阵的平移部分应该在旋转部分之前,因为必须将旋转应用于点的相对位置。

# before
return translation * rotation

# after
return rotation * translation