Unigine源代碼分析

Unigine是一款不錯的3D引擎。主要方向是仿真。其實天才才能寫出如此好的引擎。

我個人並不覺得比UE和U3D 遜色。同時又比開源的很多引擎OSG,OGRE,irrlicht, 等等商業化程度很多。穩定很多。

在一些網上,你可以買到早期大約是2013年左右泄漏的源代碼,但是離現在7年了,軟件這東西,沒有持續的維護,實質上已經意義不大。

所以我們只說最新的源代碼2.X開始版本。

Unigine2.5 是一個里程碑的版本,有點類似於Windows XP . 滿足於了絕大部分的需求,再之上的版本,其邊際效應越發明顯。

Unigine2.5源代碼中的特色有幾個:

1)材質系統還是使用文件直接定位方式,可能會引起一些潛在BUG。同時不能高效的引用。

2)草對象在多併發的時候有BUG。 雖然使用者相對較少遇到。

3)其實Unigine2.5版本已經可以很好的支持全球及其基於GIS數據的地球三維展示開發

4)所有對外暴露的文檔或接口 ,大約在5% 的程度上和實際源代碼有所差異。

5)插件系統,個人覺得還算強大,使用一定程度封裝的LoadLibrary函數來實現插件系統。

 

Unigine2.5之後的版本有幾個特色:

1)使用GUID文件管理,針對材質等系統的文件直接引用。轉而使用ID來轉換對應。個人覺得不是特比好

2)材質系統在源是的系統,用戶,級別上,擴展了用戶可繼承的系統材質等。

3)多通道系統Syncker的增加,不僅在源代碼安全級別,另外在性能上也有所提升。

4)增加的CIGI系統,新增了很多CIGI接口標準的對應實現。早期版本相對實現內容較少。

5)持續增強的SS開頭的渲染效果,比如屏幕空間次表面散射,屏幕空間全局光照系統,屏幕空間全局體素探針等。

這個個人感覺是最大有別於真實時光線追蹤等技術的屏幕空間邏輯行爲的光線追蹤。

 

由於Unigine是商業引擎,或許本文並不適合暴露過多的源代碼內容,架構等。所以點到爲之。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章