我想了解glLookAt函数.
需要3个三胞胎.第一个是眼睛位置,第二个是眼睛盯着的点.那一点将出现在我的视口中心,对吗?第三个是’向上’向量.我理解’向上’向量的含义,如果它垂直于从眼睛到凝视点的向量.问题是,是否允许指定其他向量,如果是,那么它的含义是什么?
关于gluPerstpective,glLookAt和glFrustum的图形详细解释的链接也将非常受欢迎.官方OpenGL文档似乎不适合新手.
请注意,当垂直于eye->对象向量时,我理解向上向量的含义.问题是什么是意义(如果有的话),如果不是的话.玩参数时我无法理解这一点.
解决方法
只要它与向上矢量“足够垂直”,它就可以工作.重要的是向上矢量和观察矢量之间的平面.
如果这两个对齐,则向上方向或多或少是随机的(基于值中的非常小的位),因为对它的小调整将使其指向观察向量的上方/左侧/右侧.
如果它们具有足够大的分离角度(在32位浮点数学中),它将很好地工作.这个角度通常不需要超过一度左右,所以它们可以非常接近.但如果差异减少到几位,每个改变位将产生巨大的方向性变化.
它归结为数值精度.
(我确信有更多的数学术语和定义,但是从大学开始已经有几年了…