OpenGL Camera 一直围绕原点旋转
OpenGL Camera keeps rotating around the origin
这段代码没有错误,但是当我 运行 代码时,相机没问题,我可以环顾四周等等。我一移动,它就开始围绕它的产卵原点旋转。
相机代码:
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)
视图矩阵的平移部分应该在旋转部分之前,因为您必须将旋转应用于点的相对位置。
# before
return translation * rotation
# after
return rotation * translation
这段代码没有错误,但是当我 运行 代码时,相机没问题,我可以环顾四周等等。我一移动,它就开始围绕它的产卵原点旋转。
相机代码: 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)
视图矩阵的平移部分应该在旋转部分之前,因为您必须将旋转应用于点的相对位置。
# before
return translation * rotation
# after
return rotation * translation