Pra*_*lan 1 opengl objective-c matrix glkview
对于modelviewMatrix,我了解如何形成转换和缩放Matrix。但是我无法理解如何使用来形成viewMatrix GLKMatrix4MakeLookAt
。谁能解释它的工作原理以及如何给参数赋值(眼睛中心向上XYZ)。
GLK_INLINE GLKMatrix4 GLKMatrix4MakeLookAt(float eyeX, float eyeY, float eyeZ,
float centerX, float centerY, float centerZ,
float upX, float upY, float upZ)
Run Code Online (Sandbox Code Playgroud)
GLKMatrix4MakeLookAt
创建一个查看矩阵(与gluLookAt
查看其他OpenGL代码的方式相同)。正如参数所建议的那样,它考虑了观看者眼睛的位置,观看者正在观看的空间中的点(例如,物体上的点)以及向上向量,该向量指定了哪个方向为“向上”(例如,指向向天空)。生成的查看矩阵是旋转矩阵(由一组正交基[基本向量]组成)和平移的组合。
从逻辑上讲,矩阵基本上是由几个步骤构成的:
这三个步骤将产生一个旋转矩阵,该旋转矩阵会将世界坐标系统旋转为眼睛坐标(眼睛位于原点且视线位于-z轴的坐标系统。计算最终视图矩阵)通过将平移倍增到否定的眼睛位置,将“世界坐标定位的眼睛”移动到眼睛坐标的原点。
这是一个显示的代码的相关问题GLKMatrix4MakeLookAt
,这是一个有关眼睛坐标和相关坐标系的更详细的问题:(什么是眼睛空间坐标?)。
归档时间: |
|
查看次数: |
2371 次 |
最近记录: |