three.js InterleavedBuffer

2023-02-16 17:31 更新

"交叉存儲" 表明多個類型的 attributes (例如,頂點位置、法向量、UV 和顏色值)被存儲到一個隊列中。如下鏈接有對交叉存儲更詳細的介紹: Interleaved array basics

例子

webgl / buffergeometry / points / interleaved

構造函數(shù)

InterleavedBuffer( array : TypedArray, stride : Integer )

array -- 一個基于共享緩存的類型化隊列。該隊列存儲幾何體相關數(shù)據(jù)。stride -- 每個頂點占用類型化隊列的多少個元素。

屬性

.array : Array

一個基于共享緩存的類型化隊列。該隊列存儲幾何體相關數(shù)據(jù)。

.stride : Integer

每個頂點占用類型化隊列的多少個元素。

.count : Integer

類型化隊列中,所有元素的數(shù)目。

.updateRange : Object

對象存儲著需要更新的數(shù)據(jù)的偏移量和數(shù)量。- offset: 默認值為 0。- count: 默認值為 -1。

.uuid : String

該類所創(chuàng)建的實例的UUID。它是自動被指定的,因此它不應當被編輯、更改。

.version : Integer

版本號,每次 needsUpdate 屬性設置為 true 時,版本號增加。

.needsUpdate : Integer

默認值為 false。該值被設置為 true 時,會導致 version 增加。

.usage : Usage

為優(yōu)化目的定義數(shù)據(jù)存儲的預期使用模式。對應WebGLRenderingContext.bufferData()的usage參數(shù)。

方法

.copy ( source : InterleavedBuffer ) : this

將參數(shù)指定的 InterleavedBuffer 拷貝到當前 InterleavedBuffer。

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

將數(shù)據(jù)從 attribute[index2] 拷貝到 array[index1]。

.set ( value : TypedArray, offset : Integer ) : this

value - 被拷貝的源(類型化)隊列。offset - 源隊列中,數(shù)據(jù)開始拷貝的偏移量。默認值是 0.將源隊列數(shù)據(jù)拷貝到目標隊列緩存中。

.clone ( data : Object ) : InterleavedBuffer

data - 此對象保存正確克隆具有交錯屬性的幾何圖形所需的共享數(shù)組緩沖區(qū)。創(chuàng)建此 InterleavedBuffer 的克隆。

.setUsage ( value : Usage ) : this

將用法設置為值。

.toJSON ( data : Object ) : Object

數(shù)據(jù) - 此對象包含正確序列化具有交錯屬性的幾何圖形所需的共享數(shù)組緩沖區(qū)。序列化此 InterleavedBuffer。

源代碼

src/core/InterleavedBuffer.js


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號