大家好,接下来将为大家介绍OpenGL ES 3. 绘制方式。
OpenGL ES 3. 的绘制方式有两种:顶点法与索引法。
1、顶点法
调用glDrawArrays方法来进行物体的绘制,此方法是按照传入渲染管线顶点本身的顺序及选用的绘制方式将顶点组织成图元进行绘制的,称为顶点法。
其api接口如下:
public static native void glDrawArrays(
//绘制图元的形式,就是我们上面一节讲的GL_GL_TRIANGLES、GL_LINE、GL_POINTS等
int mode,
//第一个顶点索引从多少开始,一般都是从0开始
int first,
//要绘制的顶点个数
int count
)
2、索引法
调用glDrawElements 方法在绘制时不但要将顶点序列传入渲染管线,还需要将索引序列传入管线。绘制时管线根据索引值序列中的索引一一从顶点序列中取出对应的顶点,并根据当前选用的绘制方式组织成图元进行绘制。
其api接口如下:
public static native void glDrawElements(
//绘制图元的形式
int mode,
//绘制的顶点个数
int count,
//顶点参数类型,GL_FLOAT、GL_INT、GL_UNSIGNED_SHORT等
int type,
//保存顶点索引数组的缓存数据
java.nio.Buffer indices
)
3、顶点法 索引法的比较
绘制方式 | 适用场景 | 可读性 | 内存计算方法 |
顶点法 | 顶点复用少的情况 | 一般 | 顶点数 * 顶点属性数 * 顶点数据格式类型 |
索引法 | 顶点复用多的情况 | 好 | 顶点数 * 顶点属性数 * 顶点数据格式类型 + 索引数 * 索引数据格式类型 |
最后,欢迎大家一起交流学习:微信:liaosy666 ; QQ:2209115372 。