OpenGL ES 2.0 摄像机与投影
Posted Msnow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 );
以上是关于OpenGL ES 2.0 摄像机与投影的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 上使用 OpenGL-ES 2.0 设置横向正交投影的正确方法是啥?
OpenGL ES 2.0:投影矩阵和宽高比之间的联系是什么?