OpenGL ES 2.0 摄像机与投影

1.摄像机的设置

  • 摄像机的位置坐标
  • 摄像机的位置
  • 摄像机up方向
1 Matrix.setLookAtM(
2     mVMatrix,    //存储生成矩阵元素的float[]类型数组    
3     0,               //填充起始偏移量   
4     cx,cy,cz,       //摄像机位置的x,y,z坐标
5     tx,ty,tz,        //观察目标点x,y,z坐标    
6     upx,upy,upz //up向量在x,y,z轴上的分量   
7 );    

2.投影方式-正交投影

设置视口

1 GLES20.glViewport(x,y,width,height);

 

正交投影是平行投影的一种,其投影线(物体的顶点与近平面投影点的连线)是平行的。投影到近平面的图形不会产生真实世界中"近大远小"的效果。

1 Matrix.orthoM(
2     mProjMatrix,    //存储生成矩阵元素的float[]类型数组
3     0,        //填充起始偏移量
4     left,right,    //near面的left、right
5     bottom,top,    //near面的bottom,top
6     near,far    //near面、far面与视点的距离
7 );

3.投影方式-透视投影

透视投影的投影线是不平行的,他们相交于视点。通过透视可以产生现实世界中"近大远小"的效果。

1 Matrix.frustumM(
2     mProjMatrix,    //存储生成矩阵元素的float[]类型数组
3     0,        //填充起始偏移量
4     left,right,    //near面的left、right
5     bottom,top,    //near面的bottom,top
6     near,far    //near面、far面与视点的距离
7 );

 

posted @ 2016-03-19 10:31  Msnow  阅读(1281)  评论(0编辑  收藏  举报