改動已有的系統需要不少工程,因為從 Load 入 Portal、載入每個背景物件的 3D 資料,以致測試 Portals / Sectors 的等等步驟都牽涉到。
在今天 ( 星期六 ),用了一整天的時間 ( 真的超過 12 個小時呢 ... ),從兩晚前草草訂下的計劃中,完成了改造。改造後的背景地圖仍以 Portals / Sectors 為主,在背景地圖組成方面就改了「 以 Material 來做組別 」,使用同一個 Material 的背景物件,都用同一個 SceneNode 及 Entity 組合起來,就是說 SceneNode 數量和 Material 數量掛勾,而每一個背景物件就是一個 SubEntity。因為在我設計的地圖的資料中,已有各個背景物件的資料,在測試 Portals / Sectors 方面的改動,只是在測試後,改變相關 SubEntity 的 Visible 值便可。
這樣使用 SceneNode 量便可以減少,從而可減少 OGRE 中的 Drawcall 數量,增加 Render 背景地圖的速度。希望這個改動工程真的有效吧,因為我還未有一個有很多背景物件做測試的地圖 ......。
