有沒有一種方法可以指定WebGL中每個元素的屬性?這是我的意思。繪製元素中的每個元素的WebGL屬性
我想繪製邊緣處的線條和頂點處的胖點的形狀。所以,這裏的數據結構,我想有一個三角形:
頂點:[0,0,0, 1,0,0, 0,1,0]
邊緣:[0,1, 1,2, 2,0]
頂點是一個ARRAY_BUFFER和邊緣是一個ELEMENT_ARRAY_BUFFER。所以當我使用LINES
在邊緣上調用drawElements
時,我會看到一個三角形的輪廓。現在,我還可以將顏色屬性綁定到頂點。假如我讓他們都紅了:
顏色:[1,0,0, 1,0,0, 1,0,0]
如果我想強調一個特定的頂點,我只是寫了bufferSubData
在顏色之前,我畫了頂點胖點和繪製之前改回來邊緣。但是如果我想強調一個優勢呢?我將顏色更改爲[1,1,1, 1,1,1, 1,0,0]
並希望獲得最佳效果。邊(0,1)將是白色,但其他兩個邊將使用漸變着色:頂點2爲紅色,其他(0或1)爲白色。
所以,我可以指定我想爲索引0和1處的元素使用特定的顏色,並且索引2,3,4和5處的元素使用不同的顏色?並且所有這些都不會在每個頂點上加倍(例如,使每個頂點數據看起來像[x,y,z, r,g,b]
,並且在緩衝區中並排放置兩個頂點數據,以便邊緣可以指向同一個頂點的常規或高亮版本)。