粒子架構上參考了Ogre跟Gamebryo的粒子系統結構,分粒子控制器,發射器,效果器,渲染器四部分,其實大同小異,數據與操作分離開來,發射器,效果器,渲染器都是由控制器統一管理的,理論上都可以有多個,粒子數據經過這四部分的更新后成為直接可以為引擎渲染的幾何數據,粒子從發射到渲染都是可控的,用戶可設關鍵幀來控制粒子的狀態,不過只有發射器跟粒子發射后的屬性數據可以設關鍵幀,而且一個關鍵幀包含了所有數據,用戶只能選擇使用哪些屬性數據的track,所以當只需要一兩項數據變化的時候就有些浪費了,最近看了一些國外公司出的粒子編輯器,發現它們幾乎都設計成所有粒子的屬性數據都是一個單獨的track,可以隨意變化,插值方式也多種多樣,相當強大,可惜看到得晚了點,不然我大概也會這樣做.
最后還有一點遺憾是我們原本的設計是做一個可以隨意切換是基于CPU或者基于GPU處理粒子數據這樣的一個粒子系統,可惜在CPU版本完成后由于引擎的一些限制無法完成GPU版本,最后只能在某些地方小小用GPU優化了下,但效果不理想
Debug版本,fps低了點
posted on 2008-11-24 14:12
清風 閱讀(2436)
評論(6) 編輯 收藏 引用 所屬分類:
圖形