0

我现在正在学习 OpenGL,特别是如何移动相机。如果我想改变我的相机矩阵,例如,如果用户使用 WASD 进行翻译,我可以通过两种主要方式来做到这一点:

  1. 将相机矩阵预乘以新的平移矩阵。
  2. 管理相机的一组属性,例如位置、视角、向上矢量,修改这些属性,并根据这些属性重新计算相机矩阵。

其中哪个被认为更好?我觉得第一个会引入漂移,第二个会需要更多的计算,但我知道的不够多,无法分析这两者。

4

1 回答 1

0

为相机建模的最简单方法之一是使用“lookAt”系统。基本上你记得camera_pos, camera_target, 可选的camera_up向量。gluLookAt然后你使用旧的或一些现代的方式来构建最终矩阵,比如glm::lookAt.

这样就更容易对相机及其参数进行建模。

这里有一些链接:

不要太看重性能成本。首先学习一些东西,构建它......然后在需要时进行优化。

于 2013-05-06T06:51:13.713 回答