【发布时间】:2014-02-24 05:56:56
【问题描述】:
我了解在 OpenGL 中,我们使用 gluLookAt 将相机相对于世界放置,从而定义将要绘制的图像。
“眼睛”指定相机的位置,“中心”指定相机指向的点。一旦我们知道了这两个,我们就可以从眼睛到中心画一条直线。相机平面与这条线垂直。
因为我们知道这个平面,所以向上向量指定了相机的顶部——基本上这个平面中的哪个方向是向上的。因此向上向量总是与连接中心和眼睛的向量正交。
我的问题是,当我们只想知道关于连接“中心”和“眼睛”的线的旋转角度时,为什么我们需要完整的向量。这背后的原因是我不知道的计算优势吗?如果有人指定了一个与视线方向不正交的错误向上向量怎么办?
【问题讨论】:
-
角度是什么?如果没有
eye向量,您在调用gluLookAt (...)(Z 轴)时实际上只有一个 3D 向量空间的轴,即使它也不是直接 传递给函数,而是从原点和中心位置计算。所以我再说一遍,这个角度到底应该是什么?如果它是相对于 Z 轴的,那么有无数个可能的up向量可以满足您的角度,而这根本没有用。
标签: opengl graphics camera glulookat