2009年1月7日 星期三

終於完成了....物件導向

剛放完元旦連續假期之後,整個人進入備戰一樣,開始趕shader物件導向。

今天終於給它趕完並且測試完畢,感覺上....滿順利似的XD

這機制的優點有:

1.有效提昇效率。(shader lod)
2.geometry綁的material相當有彈性。
3.管理顯示卡型號和廠商。
4.有彈性地支援特殊的技術。
5.post-pass和pre-pass更佳有彈性。


我就詳細說一下吧~

第一:

物件比較近的話,就執行比較優質的material;

物件離cmaera愈來愈遠時,

則會慢慢愈來愈劣質(fix material或是shader model 1.0)。

第二:

跟lod不一樣的是...他是一種特化方式。

雖然是特化,不過也還是有lod的表現。

如:開啟shadow,並且跟第一點一樣的特性(lod),

或則當人物碰到某一個物件時,馬上變成透明。

第三:

這點我想是每個遊戲公司很頭痛的事情,

尤其是負責Render Engine的engineerXD。

比如:要管理某張卡某個型號不能跑哪一種material,

或者某張卡某個型號跑此material時,要特別去「特化」。

所以很多遊戲廠商都直接定最低的顯示卡型號,

然後某某張卡不能跑此遊戲。(在console game常常看到)

但是在online game就不能這樣做了!

假如公司想開闊越南市場,如果去設定最低顯示卡為shader model 2.0,

保證會失去許多玩家,自然所賺的錢也會變少。

第四:

一個簡單例子:ATI的Tessellation技術。

(只有ATI的卡才能跑且需要ATI HD 2000以上的型號)

第五:

我負責的Render Engine,

他可以全支援所有關於post-process的shader。

(HDR或DOF還有SSAO....等)

但是有些物件特別奇怪(透明或alphatest),

除了可以完整的呈現出來之外,

還可以針對某些物件不需要納入post-process的運算,以提昇效率。

就這以上...。

這樣就結束了?

回頭看一下自己的backlog.....,恩...還早的很XD。

雖然以現有的機制,可以做出很可怕的東西,

不過課長是很貪心低(小聲說)

當然我也想趕快把架構給作大起來,趁現在還在開發中的時期,

等到專案啟動時,可能會很少去動架構了,必須要跟美術去磨合XD。

沒有留言:

張貼留言