索引頂點混合 (Direct3D 9)
已編制索引的頂點混合可擴充 Direct3D 中的頂點混合支援,以允許矩陣用於混合。 這些矩陣是使用矩陣索引來參考的。 這些索引是以每個頂點為基礎提供,並參考最多 256 個矩陣的調色盤。 每個索引都是 8 位,每個頂點最多可以有四個索引,這允許每個頂點混合四個矩陣。 索引會封裝成 DWORD。 因為索引是以每個頂點為基礎指定,所以最多 12 個矩陣會影響單一三角形,而調色盤中的任何矩陣都會影響一個繪製呼叫的頂點。 此方法具有下列優點。
- 它可讓更多矩陣影響單一三角形。
- 它可讓更多混合三角形在相同的繪製呼叫中傳遞。
- 它讓頂點混合與三角形索引無關。 這可讓漸進式網格與頂點混合搭配運作。
這種方法的其中一個缺點是,在頂點處理之前發生鑲嵌時,它不適用於曲線表面基本類型。
下圖示范四個矩陣如何影響頂點。 每個頂點最多可有四個索引,因此每個頂點可以混合四個矩陣。 此圖表使用以 0、2、5 和 6 編制索引的矩陣。
下圖示范最多 12 個矩陣如何影響三角形。 使用每個頂點指定的索引,最多 12 個矩陣可能會影響三角形。
下列方程式會決定矩陣如何影響頂點的一般案例。
V 模型 是輸入模型空間頂點位置。 Index0..Index3 是封裝成 DWORD 的每個頂點矩陣索引。 M[] 是要編制索引之世界矩陣的陣列。 b₀..b?是混合權數。 Vworld 是輸出世界空間頂點位置。
如需索引頂點混合的詳細資訊,請參閱 使用索引頂點混合 (Direct3D 9) 。
相關主題