原文地址: http://blog.csdn.net/sz66cm/article/details/54288626less
通常状况下绘制物体须要的顶点数量比直接的三角形方式(GL_TRIANGLES)少.oop
以下图,只要将上一批三角形的最后一个顶点和下一批三角形的第一个顶点重复一次便可. spa
glDrawArrays
方法进行物体的绘制,按照传入渲染管线顶点自己的顺序及选用的绘制方式将
顶点组织成图元进行绘制的,也称之为顶点法..net
有些状况下不得不在顶点序列中出现不少重复的顶点,若但愿减小重复顶点占用的空间,可考虑
采用glDrawElements
方法来进行物体的绘制.code
此方法绘制时,不但要将顶点序列传入渲染管线,还须要将索引序列传入管线.
绘制时管线根据索引值序列中的索引一一从顶点序列中去取出对应的顶点,再根据当前选用的绘制
方式组织成图元进行绘制.xml
GLES20.glDrawElements(//用索引法绘制图形 GLES20.GL_TRIANGLE_FAN,//绘制方式 iCount,//索引数目 GLES20.GL_UNSIGNED_BYTE, mIndexBuffer//索引数据缓冲,ByteBuffer类型 );
在OpenGL ES的虚拟世界中,摄像机也有视角大小,以下图
OpenGL ES 虚拟世界摄像机的左右视角大小主要是由left,right,及near值决定的
上下视角由top,bottom,及near值决定的.blog
指渲染管线在对构成立体物体的三角形图元进行绘制时,仅当摄像机观察点位于三角形正面的状况下才
绘制三角形.打开背面剪裁,在大部分状况下能够提升渲染效率,去除大量没必要要的渲染工做.索引
了解背面剪裁后,很重要的一点就是肯定摄像机位于一个面的正面仍是反面.在默认的状况下,OpenGL ES
中规定当摄像机观察一个三角形面时,若三角形中3个顶点的卷绕顺序是逆时针则摄像机观察其正面,反之
摄像机观察其反面. 图片
GLES20.glEnable(GLES20.GL_CULL_FACE);//打开背面剪裁 GLES20.glDisable(GLES20.GL_CULL_FACE);//关闭背面剪裁 GLES20.glFrontFace(GLES20.GL_CCW);//设置逆时针卷绕为正面,默认设置如此,因此通常不须要明确设置 GLES20.glFrontFace(GLES20.GL_CW);//设置顺时针卷染为正面.