OpenGL ES中的坐标变换
OpenGL ES中的坐标系
世界坐标系纹理坐标系物体坐标系眼坐标系或相机坐标系裁剪坐标系屏幕坐标系
世界坐标系
世界坐标系是OpenGL中描绘三位空间的坐标系
纹理坐标系
一种假象的坐标系 可以叫UV坐标系 一个纹理的纹理坐标左上角为(0,0),右下为(1,1),坐标用浮点数表示
物体坐标系
相对于单个物体的坐标系
相机坐标系
相机坐标系是以相机为原地,相机观察方向z轴向内为正方向的坐标系
裁剪坐标系
将相机坐标系乘以ProjectionMatrix就可以得到裁剪坐标系
屏幕坐标系
最终显示到屏幕上的坐标系
坐标变换
在Android进行OpenGLES的坐标矩阵变换
float ModelMatrix =
new float[
16];
float ViewMatrix =
new float[
16];
float ProjectionMatrix =
new float[
16];
float MVPMatrix =
new float[
16];
float eyeX =
0f;
float eyeY =
0f;
float eyeZ = -
5f;
float lookAtX =
0f;
float lookAtY =
0f;
float lookAtZ =
0f;
float upX =
0f;
float upY =
1f;
float upZ =
0f;
Matrix.setLookAtM(ViewMatrix,
0,eyeX,eyeY,eyeZ,lookAtX,lookAtY,lookAtZ,upX,upY,upZ);
Matrix.multiplyMM();
Matrix.multiplyMV();