InterleavedBuffer

优质
小牛编辑
127浏览
2023-12-01

"交叉存储" 表明多个类型的 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