无法理解 gluLookAt 参数

Can't understand gluLookAt arguments

我正在学习 OpenGL(过剩)。通过使用 GL_Lines 我绘制了立方体,但它看起来像正方形,所以我尝试使用 gluLookAt。我一直在搜索和试验,但我不明白它是如何工作的!请帮忙

documentation

中所述

C 规范

void gluLookAt(GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ,
               GLdouble centerX, GLdouble centerY, GLdouble centerZ,
               GLdouble upX, GLdouble upY, GLdouble upZ);

参数

eyeXeyeYeyeZ
指定视点的位置。

centerXcenterYcenterZ
指定参考点的位置。

upXupYupZ
指定向上矢量的方向。

描述

gluLookAt 创建一个从视点导出的观察矩阵,一个指示场景中心的参考点,以及一个 UP 向量。

矩阵将参考点映射到负z轴,将视点映射到原点。当使用典型的投影矩阵时,场景的中心因此映射到视口的中心。类似地,投影到观察平面上的 UP 向量所描述的方向被映射到正 y 轴,因此它在视口中指向上方。 UP矢量一定不能平行于从视点到参考点的视线。

借用下图(source)

eye 将是 Pcenter 将是 fc,而 up 将是 up。 "near plane" 和 "far plane" 定义了 viewing frustum

的范围