1.gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_FASTEST);
GL_PERSPECTIVE_CORRECTION_HINT时,是指定颜色和纹理坐标的插值质量.
GL_FASTEST为使用速度最快的模式.
GL_NICEST为使用质量最好的模式.
还有一个GL_DONT_CARE为由驱动设备来决定.
2.背面裁剪
背面裁剪,对于我们而言是很有用的,它能使物体在渲染时,不渲染我们看不见的一面,也就是背面。这样会大大缩短渲染宝贵的时间。
怎样来区分多面体中的哪一面是背面和前面。当渲染物体时,根据你指定的顶点数据,按照逆时针寻找顶点组成面,这样的面是前面
glFrontFace,它的参数可以是GL_CCW和GL_CW。默认GL_CCW(counter-clockwise winding),如果设置为GL_CW,前面则被指定为顶点数据中按照顺时针排列的面。
另一个可能有用的函数是glCullFace,它指定哪个面将被裁剪(不被渲染),可以设置为GL_FRONT,GL_BACK或者GL_FRONT_AND_BACK,默认值为GL_BACK。
3.清屏
glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
4.glMatrixMode(GL10.GL_MODELVIEW)
glMatrixMode(GL10.GL_PROJECTION);
glMatrixMode用来转换当前是模型矩阵还是投影矩阵,操作物体时使用模型矩阵,如平移、旋转、缩放等。设置观察物体的方式时,选择投影矩阵。
有两种观察事物的方式:一、正交投影或者叫平行投影,就是远处的物体和近处的物体看起来一样大。二、透视投影,人类眼睛正常观察的景象,及越远的物体看起来越小。
5.glLoadIdentity()
此函数的功能是重载单位矩阵,任何矩阵和单位矩阵相乘的结果不变。此函数的作用是使后续的操作不影响之前的操作
6.glEnableClientState(GL10.GL_VERTEX_ARRAY);
glEnableClientState(GL10.GL_COLOR_ARRAY);
启用顶点数组和颜色数组
7.glRotatef() 旋转
8.glTranslatef() 平移
9. glViewport(0, 0, width, height);
10. glFrustumf(-ratio, ratio, -1, 1, 1, 10);
glFrustumf用来创建透视视图
GLU.gluPerspective
GLfloat fovy --- 代表可视域。90度表示你可以看见左右所有一切事物,这和现实不匹配。 符合人类视角的是45度。
GLfloat aspect--- 这个参数表示透视比率,通常指窗口的宽高比。
GLfloat n &GLfloat f --- 指近距离和远距离的裁剪区域,只有在这个裁剪区域中的物体才可见。
glOrthof创建正交视图
11. glShadeModel
默认GL_SMOOTH方式。
//GL_FLAT 单色渲染,如果设置多个颜色,只有最后一组颜色启作用
//GL_SMOOTH 平滑模式,每个顶点都有自己的色彩,色彩之间的过渡也比较平滑。从运行结果中能看的很明显。
12. GLU.gluLookAt(gl, 0, 0, -5, 0f, 0f, 0f, 0f, 1.0f, 0.0f);
如果你想改变观察角度,即摄像机的位置,可以修改投影矩阵。这很容易,使用GUL|ES库中的gluLookAtf函数可以很方便的实现。
这个函数有9个参数,由3组坐标向量组成。第一组表示你要将摄像机摆放的位置。第二组表示摄像机面对的方向。第三组表示摄像机的上方是哪个朝向,通常使用(0, 1, 0)来表示。
GL_PERSPECTIVE_CORRECTION_HINT时,是指定颜色和纹理坐标的插值质量.
GL_FASTEST为使用速度最快的模式.
GL_NICEST为使用质量最好的模式.
还有一个GL_DONT_CARE为由驱动设备来决定.
2.背面裁剪
背面裁剪,对于我们而言是很有用的,它能使物体在渲染时,不渲染我们看不见的一面,也就是背面。这样会大大缩短渲染宝贵的时间。
怎样来区分多面体中的哪一面是背面和前面。当渲染物体时,根据你指定的顶点数据,按照逆时针寻找顶点组成面,这样的面是前面
glFrontFace,它的参数可以是GL_CCW和GL_CW。默认GL_CCW(counter-clockwise winding),如果设置为GL_CW,前面则被指定为顶点数据中按照顺时针排列的面。
另一个可能有用的函数是glCullFace,它指定哪个面将被裁剪(不被渲染),可以设置为GL_FRONT,GL_BACK或者GL_FRONT_AND_BACK,默认值为GL_BACK。
3.清屏
glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
4.glMatrixMode(GL10.GL_MODELVIEW)
glMatrixMode(GL10.GL_PROJECTION);
glMatrixMode用来转换当前是模型矩阵还是投影矩阵,操作物体时使用模型矩阵,如平移、旋转、缩放等。设置观察物体的方式时,选择投影矩阵。
有两种观察事物的方式:一、正交投影或者叫平行投影,就是远处的物体和近处的物体看起来一样大。二、透视投影,人类眼睛正常观察的景象,及越远的物体看起来越小。
5.glLoadIdentity()
此函数的功能是重载单位矩阵,任何矩阵和单位矩阵相乘的结果不变。此函数的作用是使后续的操作不影响之前的操作
6.glEnableClientState(GL10.GL_VERTEX_ARRAY);
glEnableClientState(GL10.GL_COLOR_ARRAY);
启用顶点数组和颜色数组
7.glRotatef() 旋转
8.glTranslatef() 平移
9. glViewport(0, 0, width, height);
10. glFrustumf(-ratio, ratio, -1, 1, 1, 10);
glFrustumf用来创建透视视图
GLU.gluPerspective
GLfloat fovy --- 代表可视域。90度表示你可以看见左右所有一切事物,这和现实不匹配。 符合人类视角的是45度。
GLfloat aspect--- 这个参数表示透视比率,通常指窗口的宽高比。
GLfloat n &GLfloat f --- 指近距离和远距离的裁剪区域,只有在这个裁剪区域中的物体才可见。
glOrthof创建正交视图
11. glShadeModel
默认GL_SMOOTH方式。
//GL_FLAT 单色渲染,如果设置多个颜色,只有最后一组颜色启作用
//GL_SMOOTH 平滑模式,每个顶点都有自己的色彩,色彩之间的过渡也比较平滑。从运行结果中能看的很明显。
12. GLU.gluLookAt(gl, 0, 0, -5, 0f, 0f, 0f, 0f, 1.0f, 0.0f);
如果你想改变观察角度,即摄像机的位置,可以修改投影矩阵。这很容易,使用GUL|ES库中的gluLookAtf函数可以很方便的实现。
这个函数有9个参数,由3组坐标向量组成。第一组表示你要将摄像机摆放的位置。第二组表示摄像机面对的方向。第三组表示摄像机的上方是哪个朝向,通常使用(0, 1, 0)来表示。