微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我想了解glLookAt函数.

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

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

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

解决方法

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

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

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

它归结为数值精度.

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

原文地址:https://www.jb51.cc/c/116144.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐