Methods
-
创建索引buffer,其中包含 GPU 控制内存中的键入索引。 索引buffer可以附加到顶点数组,以选择渲染
Context的顶点。Draw
可以使用整个索引buffer或由偏移量和计数定义的索引buffer的子集来呈现。Name Type Description options.context
Context 创建buffer的上下文。 options.typedArray
ArrayBufferView optional 类型数组,包含要复制到buffer的数据。 options.sizeInBytes
Number optional 以字节为单位定义buffer大小的数字。 如果未给出 options.typedArray 则必须填写。 options.usage
BufferUsage 指定buffer的预期使用模式。在某些 GL 实现中,这可能会严重影响性能。参见 BufferUsage
。options.indexDatatype
IndexDatatype buffer中索引的数据类型。 Returns:
索引buffer,准备连接到顶点数组。Throws:
-
DeveloperError : 必须指定任意一个选项。typearray或options.sizeInBytes,但不是两者都有。
-
DeveloperError : IndexDatatype.UNSIGNED_INT 需要 OES_element_index_uint,而本系统不支持 OES_element_index_uint。请检查 context.elementIndexUint。
-
DeveloperError : 以字节为单位的大小必须大于零。
-
DeveloperError : 无效使用。
-
DeveloperError : 无效的索引数据类型。
- glGenBuffer
- glBindBuffer with
ELEMENT_ARRAY_BUFFER
- glBufferData with
ELEMENT_ARRAY_BUFFER
Examples:
// Example 1. Create a stream index buffer of unsigned shorts that is // 16 bytes in size. var buffer = Buffer.createIndexBuffer({ context : context, sizeInBytes : 16, usage : BufferUsage.STREAM_DRAW, indexDatatype : IndexDatatype.UNSIGNED_SHORT });
// Example 2. Create a static index buffer containing three unsigned shorts. var buffer = Buffer.createIndexBuffer({ context : context, typedArray : new Uint16Array([0, 1, 2]), usage : BufferUsage.STATIC_DRAW, indexDatatype : IndexDatatype.UNSIGNED_SHORT });
See:
-
-
创建顶点buffer,其中包含 GPU 控制内存中未键入的顶点数据。 顶点数组通过解释一个或多个顶点buffer中的原始数据,定义顶点的实际构成,如位置、法线、纹理坐标等。
Name Type Description options.context
Context 创建buffer的上下文。 options.typedArray
ArrayBufferView optional 类型数组,包含要复制到buffer的数据。 options.sizeInBytes
Number optional 一个定义buffer大小的 Number
类型值,以字节为单位。如果未给出options.typedArray,则必须提供。options.usage
BufferUsage 指定buffer的预期使用模式。在某些 GL 实现中,这可能会严重影响性能。参见 BufferUsage
。Returns:
顶点buffer,准备连接到顶点数组。Throws:
-
DeveloperError : 必须指定
或 ,但不能同时指定。 -
DeveloperError : buffer大小必须大于零。
-
DeveloperError : 无效使用。
- glGenBuffer
- glBindBuffer with
ARRAY_BUFFER
- glBufferData with
ARRAY_BUFFER
Examples:
// Example 1. Create a dynamic vertex buffer 16 bytes in size. var buffer = Buffer.createVertexBuffer({ context : context, sizeInBytes : 16, usage : BufferUsage.DYNAMIC_DRAW });
// Example 2. Create a dynamic vertex buffer from three floating-point values. // The data copied to the vertex buffer is considered raw bytes until it is // interpreted as vertices using a vertex array. var positionBuffer = buffer.createVertexBuffer({ context : context, typedArray : new Float32Array([0, 0, 0]), usage : BufferUsage.STATIC_DRAW });
See:
-