Methods
-
创建索引buffer,其中包含 GPU 控制内存中的键入索引。 索引buffer可以附加到顶点数组,以选择渲染
Context的顶点。Draw可以使用整个索引buffer或由偏移量和计数定义的索引buffer的子集来呈现。Name Type Description options.contextContext 创建buffer的上下文。 options.typedArrayArrayBufferView optional 类型数组,包含要复制到buffer的数据。 options.sizeInBytesNumber optional 以字节为单位定义buffer大小的数字。 如果未给出 options.typedArray 则必须填写。 options.usageBufferUsage 指定buffer的预期使用模式。在某些 GL 实现中,这可能会严重影响性能。参见 BufferUsage。options.indexDatatypeIndexDatatype 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.contextContext 创建buffer的上下文。 options.typedArrayArrayBufferView optional 类型数组,包含要复制到buffer的数据。 options.sizeInBytesNumber optional 一个定义buffer大小的 Number类型值,以字节为单位。如果未给出options.typedArray,则必须提供。options.usageBufferUsage 指定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:
-
