OpenGL ES中的坐标变换

xiaoxiao2021-02-28  116

OpenGL ES中的坐标变换

OpenGL ES中的坐标系

世界坐标系纹理坐标系物体坐标系眼坐标系或相机坐标系裁剪坐标系屏幕坐标系

世界坐标系

世界坐标系是OpenGL中描绘三位空间的坐标系

纹理坐标系

一种假象的坐标系 可以叫UV坐标系 一个纹理的纹理坐标左上角为(0,0),右下为(1,1),坐标用浮点数表示

物体坐标系

相对于单个物体的坐标系

相机坐标系

相机坐标系是以相机为原地,相机观察方向z轴向内为正方向的坐标系

裁剪坐标系

将相机坐标系乘以ProjectionMatrix就可以得到裁剪坐标系

屏幕坐标系

最终显示到屏幕上的坐标系

坐标变换

在Android进行OpenGLES的坐标矩阵变换

float ModelMatrix = new float[16];//一个4*4矩阵 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; //设置ViewMatrix矩阵,up为垂直于视线的向量 Matrix.setLookAtM(ViewMatrix,0,eyeX,eyeY,eyeZ,lookAtX,lookAtY,lookAtZ,upX,upY,upZ); //矩阵乘以矩阵 Matrix.multiplyMM(); //矩阵乘以向量 Matrix.multiplyMV();
转载请注明原文地址: https://www.6miu.com/read-44624.html

最新回复(0)