Matrix.setLookAtM方法如何在OpenGL ES中工作?

xtr*_*nge 10 android opengl-es

Matrix.setLookAtM工作怎么样?我一直在搜索,无法找到解释.我知道前三个坐标是定义摄像机在世界空间中的位置,我认为"视点中心"是指x, y, z我在世界空间中看到的坐标.既然如此,"向上矢量"是什么意思/做什么?

如果有一个我忽略的问题或教程,我很乐意接受.

zer*_*298 18

向上是相机认为"向上"的东西,即:如果你向前看并握住你的手,那就是你的"向上"向量.只需将其设置为0, 1, 0.我不是Android开发人员,但我猜它与之类似gluLookAt().

该功能实际上是为您设置视图矩阵.它需要眼睛位置来确定相机的位置.之后,它将从中心减去眼睛位置并将其标准化以获得前向矢量.然后它将使用向上矢量穿过前向矢量以获得正确的矢量.在对所有三个进行归一化之后,它可以从这些x, y, z向量构造矩阵,为您提供基本的模型视图矩阵.

它只是为你量化数学.