three.js 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
对象存储着需要更新的数据的偏移量和数量。- offset: 默认值为 0。- count: 默认值为 -1。
.uuid : String
该类所创建的实例的UUID。它是自动被指定的,因此它不应当被编辑、更改。
.version : Integer
版本号,每次 needsUpdate 属性设置为 true 时,版本号增加。
.needsUpdate : Integer
默认值为 false。该值被设置为 true 时,会导致 version 增加。
.usage : Usage
为优化目的定义数据存储的预期使用模式。对应WebGLRenderingContext.bufferData()的usage参数。
方法
.copy ( source : InterleavedBuffer ) : this
将参数指定的 InterleavedBuffer 拷贝到当前 InterleavedBuffer。
.copyAt ( index1 : Integer, attribute : InterleavedBuffer, index2 : Integer ) : this
将数据从 attribute[index2] 拷贝到 array[index1]。
.set ( value : TypedArray, offset : Integer ) : this
value - 被拷贝的源(类型化)队列。offset - 源队列中,数据开始拷贝的偏移量。默认值是 0.将源队列数据拷贝到目标队列缓存中。
.clone ( data : Object ) : InterleavedBuffer
data - 此对象保存正确克隆具有交错属性的几何图形所需的共享数组缓冲区。创建此 InterleavedBuffer 的克隆。
.setUsage ( value : Usage ) : this
将用法设置为值。
.toJSON ( data : Object ) : Object
数据 - 此对象包含正确序列化具有交错属性的几何图形所需的共享数组缓冲区。序列化此 InterleavedBuffer。
更多建议: