OpenGL ES1.1.12 第二章 2.9.2

来源:互联网 发布:北邮程序员被老婆害死 编辑:程序博客网 时间:2024/05/14 04:19

(仅是草稿,未做整理)

2.9.2缓存对象中的数组索引

保存在缓存对象的顶点数组索引块与客户端的索引数组的格式和布局是一样的。初始值零是被绑定到ELEMENT_ARRAY_BUFFER,表明DrawElements中的索引值是从indices参数而来。

一个缓存对象绑定到ELEMENT_ARRAY_BUFFER,是通过调用BindBuffer来完成,其中target设置为ELEMENT_ARRAY_BUFFERbuffer设置为缓存对象的名称。如果没有对应的缓存对象存在,那么将如2.9小节所定义进行初始化。

BufferDataBufferSubData可以用使用ELEMENT_ARRAY_BUFFER作为target参数。在这种情况下,这些命令的操作与2.9小节所描述的一样,不同之处是当前的绑定是ELEMENT_ARRAY_BUFFER

当一个非零的缓存对象名称绑定到ELEMENT_ARRAY_BUFFERDrawElements的索引值是从缓存对象而来,即用indices作为在缓存对象中的偏移,这与2.9.1所描述是一样的。

通过绑定一个未用名到ARRAY_BUFFERELEMENT_ARRAY_BUFFER来创建一个缓存对象,是形式等同的,但GL在关于基于初始绑定存储实现会有不同的选择。在一些发问下,性能优化会把索引和数组数据存放在分离的缓存对象中,并通过与之相关的绑定点来创建缓存对象。