2011-04-30 41 views
2

首先,我使用OpenGL ES 1.1而不是2.0,主要是因爲我花了相當多的時間學習1.0/1.1和上午很舒服。單骨(矩陣調色板)動畫與簡單的旋轉/零件翻譯

我花了一些時間來學習使用矩陣調色板進行動畫和切換項目後的齒輪我有一個問題。

最初我使用2和3骨骼動畫,因爲我需要某些頂點組的權重。現在......在我正在研究的新項目中,我將動畫製作更多機械化的東西,因此需要超過1個骨骼或加權是不必要的。我想仍然使用矩陣調色板,其權重爲100%,單個骨骼...但我不知道這是否會導致性能下降。相反,我可以將網格劃分成更小的部分,並在元素繪製調用之間進行簡單的平移和旋轉。當然,我擔心的是表現。

回答

1

TL; DR版本:嘗試兩種方式,看看哪一個更好。

真的,使用1-bone動畫的調色板是你可以做的事情,沒有太多的麻煩,並且根據不同骨骼的數量以及設備驅動程序的開銷,可能會更好。

值得注意的是,在1骨骼模型中權重可以被忽略,並且得到的每頂點代碼通常應該可以與單個變換相比較,以模塊間接指向調色板。

當然,這取決於GL的實施,以優化權重。另一方面,骨骼的數量越多,如果沒有調色板,您將不得不生成更多的繪製調用,並且對CPU /驅動程序代碼徵稅越多。

因此,在廣泛的層面上,我認爲調色板每個頂點的工作量要多一些,但每個骨骼的工作量要少得多。轉折點取決於平臺,因爲這兩項成本可能會有很大差異。

+0

非常感謝您的回答,只要它能讓我給出答案,您就會獲得賞金。我有一種感覺,單一的骨頭可能是要走的路,但我會運行一些測試,看看我能否確定哪個更好。對於調色板,理論上講,我應該發出較少的調用請求,對嗎?這假定使用glDrawElements()。 – Maximus 2011-05-04 06:51:32

+0

@Maximus:非常非常。如果你的機器人有12塊骨頭,那最好是1:12比例! – Bahbar 2011-05-04 07:06:24