W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
這個(gè)類用于存儲(chǔ)與BufferGeometry相關(guān)聯(lián)的 attribute(例如頂點(diǎn)位置向量,面片索引,法向量,顏色值,UV坐標(biāo)以及任何自定義 attribute )。 利用 BufferAttribute,可以更高效的向GPU傳遞數(shù)據(jù)。詳情和例子見該頁。
在 BufferAttribute 中,數(shù)據(jù)被存儲(chǔ)為任意長度的矢量(通過itemSize進(jìn)行定義),下列函數(shù)如無特別說明, 函數(shù)參數(shù)中的index會(huì)自動(dòng)乘以矢量長度進(jìn)行計(jì)算。在處理類似矢量的數(shù)據(jù)時(shí),Vector2、Vector3、Vector4 和 Color 類上的 .fromBufferAttribute( attribute, index ) 輔助方法可能會(huì)有所幫助。
array -- 必須是 TypedArray. 類型,用于實(shí)例化緩存。該隊(duì)列應(yīng)該包含:
itemSize * numVertices
個(gè)元素,numVertices 是 BufferGeometry中的頂點(diǎn)數(shù)目
itemSize -- 隊(duì)列中與頂點(diǎn)相關(guān)的數(shù)據(jù)值的大小。舉例,如果 attribute 存儲(chǔ)的是三元組(例如頂點(diǎn)空間坐標(biāo)、法向量或顏色值)則itemSize的值應(yīng)該是3。
normalized -- (可選) 指明緩存中的數(shù)據(jù)如何與GLSL代碼中的數(shù)據(jù)對應(yīng)。例如,如果array是 UInt16Array類型,且normalized的值是 true,則隊(duì)列中的值將會(huì)從 0 - +65535 映射為 GLSL 中的 0.0f - +1.0f。 如果array是 Int16Array (有符號),則值將會(huì)從 -32768 - +32767 映射為 -1.0f - +1.0f。若 normalized 的值為 false,則數(shù)據(jù)映射不會(huì)歸一化,而會(huì)直接映射為 float 值,例如,32767 將會(huì)映射為 32767.0f.
在 array 中保存著緩存中的數(shù)據(jù)。
保存 array 除以 itemSize 之后的大小。若緩存存儲(chǔ)三元組(例如頂點(diǎn)位置、法向量、顏色值),則該值應(yīng)等于隊(duì)列中三元組的個(gè)數(shù)。
只讀標(biāo)志,用于檢查給定對象是否屬于 BufferAttribute 類型。
保存在 array 中矢量的長度。
該 attribute 實(shí)例的別名,默認(rèn)值為空字符串。
該標(biāo)志位指明當(dāng)前 attribute 已經(jīng)被修改過,且需要再次送入 GPU 處理。當(dāng)開發(fā)者改變了該隊(duì)列的值,則標(biāo)志位需要設(shè)置為 true。將標(biāo)志位設(shè)為 true 同樣會(huì)增加 version 的值。
指明緩存中數(shù)據(jù)在轉(zhuǎn)化為GLSL著色器代碼中數(shù)據(jù)時(shí)是否需要被歸一化。詳見構(gòu)造函數(shù)中的說明。
attribute 數(shù)據(jù)傳輸?shù)紾PU后的回調(diào)函數(shù)。
對象包含如下成員:offset: 默認(rèn)值為 0。 指明更新的起始位置。count: 默認(rèn)值為 -1,表示不指定更新范圍。該值只可以被用于更新某些矢量數(shù)據(jù)(例如,顏色相關(guān)數(shù)據(jù))。
為優(yōu)化目的定義數(shù)據(jù)存儲(chǔ)的預(yù)期使用模式。對應(yīng)WebGLRenderingContext.bufferData()的usage參數(shù)。默認(rèn)值為 StaticDrawUsage。查看所有可能值的使用常量。
版本號,當(dāng) needsUpdate 被設(shè)置為 true 時(shí),該值會(huì)自增。
將矩陣 m 應(yīng)用于此 BufferAttribute 的每個(gè) Vector3 元素。
將矩陣 m 應(yīng)用于此 BufferAttribute 的每個(gè) Vector3 元素。
將普通矩陣 m 應(yīng)用于此 BufferAttribute 的每個(gè) Vector3 元素。
將矩陣 m 應(yīng)用于此 BufferAttribute 的每個(gè) Vector3 元素,將元素解釋為方向向量。
返回該 BufferAttribute 的拷貝。
將參數(shù)中所給定的普通隊(duì)列或 TypedArray 拷貝到 array 中。拷貝 TypedArray 相關(guān)注意事項(xiàng)詳見 TypedArray.set。
將一個(gè)矢量從 bufferAttribute[index2] 拷貝到 array[index1] 中。
獲取給定索引的矢量的第一維元素 (即 X 值)。
獲取給定索引的矢量的第二維元素 (即 Y 值)。
獲取給定索引的矢量的第三維元素 (即 Z 值)。
獲取給定索引的矢量的第四維元素 (即 W 值)。
見 onUploadCallback 屬性。在 WebGL / Buffergeometry 中,該方在緩存數(shù)據(jù)傳遞給 GPU 后,用于釋放內(nèi)存。
value -- 被拷貝的 Array 或 TypedArray 類型的數(shù)據(jù)。offset -- (可選) array 中開始拷貝的位置索引。對 array,調(diào)用 TypedArray.set( value, offset ) 方法。特別的, 對將 value 轉(zhuǎn)為 TypedArray 的要求詳見上述鏈接。
將用法設(shè)置為值。查看所有可能輸入值的使用常量。
設(shè)置給定索引的矢量的第一維數(shù)據(jù)(設(shè)置 X 值)。
設(shè)置給定索引的矢量的第二維數(shù)據(jù)(設(shè)置 Y 值)。
設(shè)置給定索引的矢量的第三維數(shù)據(jù)(設(shè)置 Z 值)。
設(shè)置給定索引的矢量的第四維數(shù)據(jù)(設(shè)置 W 值)。
設(shè)置給定索引的矢量的第一、二維數(shù)據(jù)(設(shè)置 X 和 Y 值)。
設(shè)置給定索引的矢量的第一、二、三維數(shù)據(jù)(設(shè)置 X、Y 和 Z 值)。
設(shè)置給定索引的矢量的第一、二、三、四維數(shù)據(jù)(設(shè)置 X、Y、Z 和 W 值)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: