c – OpenGL LookAt函数:up向量是否是任意的?

我想了解glLookAt函数.

需要3个三胞胎.第一个是眼睛位置,第二个是眼睛盯着的点.那一点将出现在我的视口中心,对吗?第三个是’向上’向量.我理解’向上’向量的含义,如果它垂直于从眼睛到凝视点的向量.问题是,是否允许指定其他向量,如果是,那么它的含义是什么?

关于gluPerstpective,glLookAt和glFrustum的图形详细解释的链接也将非常受欢迎.官方OpenGL文档似乎不适合新手.

请注意,当垂直于eye->对象向量时,我理解向上向量的含义.问题是什么是意义(如果有的话),如果不是的话.玩参数时我无法理解这一点.

解决方法

只要它与向上矢量“足够垂直”,它就可以工作.重要的是向上矢量和观察矢量之间的平面.

如果这两个对齐,则向上方向或多或少是随机的(基于值中的非常小的位),因为对它的小调整将使其指向观察向量的上方/左侧/右侧.

如果它们具有足够大的分离角度(在32位浮点数学中),它将很好地工作.这个角度通常不需要超过一度左右,所以它们可以非常接近.但如果差异减少到几位,每个改变位将产生巨大的方向性变化.

它归结为数值精度.

(我确信有更多的数学术语和定义,但是从大学开始已经有几年了…

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...