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 );