此代码中没有错误,但是当我运行代码时,相机很好,我可以四处看看。我一移动,它就会围绕其生成的原点开始旋转。
相机代码: 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)
答案 0 :(得分:2)
视图矩阵的平移部分应该在旋转部分之前,因为必须将旋转应用于点的相对位置。
# before
return translation * rotation
# after
return rotation * translation