Math gluLookAt实现-zAxis定向

Math gluLookAt实现-zAxis定向,math,opengl,linear-algebra,Math,Opengl,Linear Algebra,在gluLookAt函数zAxis=target-cameraPosition中,然后在视图矩阵中放置-zAxis,或者我们可以编写zAxis=cameraPosition-target,然后在视图矩阵中放置zAxis,以获得相同的结果。为什么我们必须在第一种情况下否定zAxis,或者在第二种情况下改变操作顺序 在OpenGL中,标准相机空间是右手坐标系+X向右移,+Y向上移动。因为它是右撇子,+Z在查看器后面。因此,查看器沿-Z轴查看。因此是否定的。所以,当我不使用gluLookAt函数,但我

在gluLookAt函数
zAxis=target-cameraPosition
中,然后在视图矩阵中放置
-zAxis
,或者我们可以编写
zAxis=cameraPosition-target
,然后在视图矩阵中放置
zAxis
,以获得相同的结果。为什么我们必须在第一种情况下否定zAxis,或者在第二种情况下改变操作顺序

在OpenGL中,标准相机空间是右手坐标系+X向右移,+Y向上移动。因为它是右撇子,+Z在查看器后面。因此,查看器沿-Z轴查看。因此是否定的。

所以,当我不使用gluLookAt函数,但我使用相机位置构建自己的视图矩阵时,xAxis,yAxis,zAxis(xAxis.x,xAxis.y,xAxis.z,-dot(xAxis,cameraPos),yAxis.x,yAxis.y,yAxis.z,-dot(yAxis,cameraPos),zAxis.x,zAxis.y,zAxis.z,-dot(zAxis,cameraPos,0,0,1)然后我在我的相机类中旋转这些轴,我应该这样定义默认的X轴,Y轴和Z轴:(1,0,0),(0,1,0),(0,0,1)?