我希望能够通过单击键盘按钮来查看以0,0,0为中心的行星球体,半径为10个单位,360度和更低。我应该在glulookat()函数中放入什么参数呢?我知道中心XYZ应该是000,但是眼睛和上方向量应该是多少?
void gluLookAt( GLdouble eyeX,
GLdouble eyeY,
GLdouble eyeZ,
GLdouble centerX,
GLdouble centerY,
GLdouble centerZ,
GLdouble upX,
GLdouble upY,
GLdouble upZ);发布于 2021-09-21 13:37:56
Don't use lookAt for this!计算眼向量所涉及的三角量相当于从头开始构建视图矩阵。
相反,保持相机的俯仰和偏航,并通过一系列的平移和旋转来应用它们:
glTranslatef(0, 0, -radius);
glRotatef(-pitch, 1, 0, 0);
glRotatef(-yaw, 0, 0, 1); // assumes Z is uphttps://stackoverflow.com/questions/69269628
复制相似问题