版权声明:本文为博主原创文章,转载请注明出处
OpenGL
1、画图分为三个步骤:
一、创建 GLSurfaceView 组件,通过activity来显示这个组件
二、实现Renderer接口,里面有三个方法需要实现
- onSurfaceCreated -------- 在Surface创建的时候调用
- onSurfaceChanged-------- 在Surface改变的的时候调用
- onDrawFrame ------------- 在Surface上绘制的时候调用
三、创建Renderer实例,为GLSurfaceView组件指定Renderer实例,
2、 Renderer接口中的三个方法很重要,
onSurfaceChanged() onSurfaceCreated ()一般是初始化一些东西
onDrawFrame()方法是进行实际画图的操控者,
画图的模式有这么几种:
- GL_POINTS ————绘制独立的点
- GL_LINE_STRIP————绘制连续的线段,不封闭
- GL_LINE_LOOP————绘制连续的线段,封闭
- GL_LINES————顶点两两连接,为多条线段构成
- GL_TRIANGLES————每隔三个顶点构成一个三角形
- GL_TRIANGLE_STRIP————每相邻三个顶点组成一个三角形
- GL_TRIANGLE_FAN————以一个点为三角形公共顶点,组成一系列相邻的三角形
我主要想记录下两个方法,因为学的时候在这里费了很多力气。
gl10.glFrustumf(-ratio,ratio,-1f,1f,3,
这个方法是用来设置平截头体,
后面两个参数是设置近平面与远平面距离“眼球”的距离(绝对值),眼球默认的位置是(0,0,0),比如上面这个参数,近平面所在的位置是z=-3,远平面位置 是 z = -7,这两个参数必须是正数,不能为负
,
GLU.gluLookAt(gl,10,0,0,5,0,0,-1,0,1,0);
这个方法是设置眼球的,参数分别设置 眼球的位置、看的方向、眼球放置的方向(想象你的头的方向,因为你可以歪着头看同一个物体)