InterleavedBuffer

"交叉存储" 表明多个类型的 attributes (例如,顶点位置、法向量、UV 和颜色值)被存储到一个队列中。

如下链接有对交叉存储更详细的介绍: Interleaved array basics

例子

webgl / buffergeometry / points / interleaved

构造函数

InterleavedBuffer(array : TypedArray, stride : Integer)

array -- 一个基于共享缓存的类型化队列。该队列存储几何体相关数据。
stride -- 每个顶点占用类型化队列的多少个元素。

属性

.array : Array

一个基于共享缓存的类型化队列。该队列存储几何体相关数据。

.stride : Integer

每个顶点占用类型化队列的多少个元素。

.count : Integer

类型化队列中,所有元素的数目。

.updateRange : Object

对象存储着需要更新的数据的偏移量和数量。

.updateRange.offset : Number

默认值为 0

.updateRange.count : Number

默认值为 -1

.uuid : String

该类所创建的实例的UUID。它是自动被指定的,因此它不应当被编辑、更改。

.version : Integer

版本号,每次 needsUpdate 属性设置为 true 时,版本号增加。

.needsUpdate : Integer

默认值为 false。该值被设置为 true 时,会导致 version 增加。

.usage : Usage

Defines the intended usage pattern of the data store for optimization purposes. Corresponds to the usage parameter of WebGLRenderingContext.bufferData().

方法

.copy(source : InterleavedBuffer) → InterleavedBuffer

将参数指定的 InterleavedBuffer 拷贝到当前 InterleavedBuffer。

.copyAt(index1 : Integer, attribute : InterleavedBuffer, index2 : Integer) → InterleavedBuffer

将数据从 attribute[index2] 拷贝到 array[index1]。

.set(value : TypedArray, offset : Integer) → InterleavedBuffer

value - 被拷贝的源(类型化)队列。
offset - 源队列中,数据开始拷贝的偏移量。默认值是 0.

将源队列数据拷贝到目标队列缓存中。

.clone(data : Object) → InterleavedBuffer

data - This object holds shared array buffers required for properly cloning geometries with interleaved attributes.

Creates a clone of this InterleavedBuffer.

.setUsage(value : Usage) → InterleavedBuffer

Set usage to value.

.toJSON(data : Object) → InterleavedBuffer

data - This object holds shared array buffers required for properly serializing geometries with interleaved attributes.

Serializes this InterleavedBuffer.

源代码

src/core/InterleavedBuffer.js