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是商业引擎,或许本文并不适合暴露过多的源代码内容,架构等。所以点到为之。

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