原帖由 vp 于 2006-8-6 09:22 发表
还是不能苟同Eji的意见。
关键在于GS在硬件pipeline中的位置,它存在于vs之后,而不是之前,因此采用GS增加vertex数量的操作是vs操作完成之后,一般不会增加vs的负荷,而对于光栅化单元到的确会增加不少负荷。只 ...
如果GS做完的model分割不送回VS,你要它們怎麼去處理那些大幅增加的model複雜性?
1會變2、2會變3.....可以消滅vertex, 就是代表可以"分割model",
如果你不送回VS的話,這幾個model就只能共用一個T&L的結果了耶。
光作tessellation的話,你可以視為一種Modeling data的資料壓縮,
可是它還是不能刪去頂點,刪去頂點的作用就像我上面說的,可以作為分割model的作用,
分割model的話自然就是要把這幾個model做進一部的分離、加上個別的物理性質,
所以不增設VS的話,GS就不需要加上刪除頂點的功能了,因為不會分割model。
反過來說,也因為GS加上刪除頂點的功能、可以實作model分割,
所以我們可以透過增設更多的VS,來實作GPU內的較大規模物理模擬,
而不像PS3一樣要透過Cell的浮點資源來處理物理。
當然,這麼一點點的VS增設,只能說取代部分的細部分子物理,
而不是像Cell那樣可以在伺服器的範疇作整個遊戲內的超大規模物理.....
但是你可以把Cell視為巨觀、DX10的VS與GS互動視為微觀。
再進一部要進化的話,就得把US、multiple fequency domain、CPU+GPU等等結構都考慮進去了。
[ 本帖最后由 Eji 于 2006-8-12 14:40 编辑 ] |