2010-06-22 51 views
2

如果您計算在WebGL上渲染它的多邊形的法線,您是否對索引數組中的每個索引或頂點數組上的每個頂點使用法線?多少法線?

回答

1

每個頂點。 WebGL意義上的頂點(與OpenGL ES和其他前身相同)不是真正的空間點,而是屬性的組合。其中一個幾乎總是位置(儘管在不常見的情況下你可能沒有這個位置),而另一些通常是像法線矢量,顏色,紋理座標等等。

相比之下,索引數組是頂點屬性數組的偏移量。因此,當您在索引數組中指定索引(比如說1)時,它是「位置緩衝區中的第一個位置,正常緩衝區中的第一個法線,顏色緩衝區中的第一個顏色以及第一個顏色紋理座標緩衝區中的紋理座標「。

對我來說,最直觀的反應就是將頂點與它們碰巧佔據的位置分開。沒有理由爲什麼兩個頂點不能有相同的位置。

+0

我想我已經解決了這個問題,但只是爲了結束討論... 好吧,換句話說,索引檢索你在其他緩衝區中的任何信息:顏色,法線,紋理等等。這些在頂點空間。謝謝Giles。對, – Diego 2011-03-21 18:21:31

+0

是的。索引零指的是所有這些緩衝區中的第零個元素。 – 2011-03-21 19:44:29

2

notes here中,用戶正在爲每個頂點計算它們。