OpenGL相机在原点周围不断旋转

3
这段代码没有错误,但是当我运行它时,摄像机表现正常,我可以四处看。但一旦我移动,它就开始围绕其生成点旋转。
摄像机代码: http://hatebin.com/iiceqotcpu 主要代码鼠标回调函数。
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个回答

2

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

# before
return translation * rotation

# after
return rotation * translation

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接