Ogre-Next 2.3.0 发布,第二代 Ogre 3D 图形渲染引擎
Ogre-Next 是开源 3D 图形渲染引擎 Ogre 的第二代,相对于 Ogre 来说,Ogre-Next 更适用于在屏幕上拥有大量对象或渲染预算紧张的项目,例如 VR。
目前 Ogre-Next 发布了 2.3.0 版本,此版本主要改进了设备丢失(Device Lost)问题的处理、使用了先进的阴影映射技术、稳定的 Vulkan ...详细改动内容如下:
改进对设备丢失问题的处理
游戏程序的设备丢失被视为严重故障且非常罕见,通常是由于硬件或软件故障,或者在游戏过程中进行 Windows 更新。无论如何,在这种情况下,游戏体验都已经中断了。
而对于非游戏的应用程序,出现设备丢失问题的主要原因是以下两个:
- 显卡驱动升级
- 从省电模式切换到性能模式,反之亦然(主要在笔记本电脑或其他移动设备上)
现在,Eugene 会尽可能地从丢失的设备中恢复丢失前的内容。
将 importV1 切换为 createByImportingV1
2.2 及更早版本有一个名为 Mesh::importV1 的函数,它会通过用来自 v1 网格的数据来填充 v2 网格,从而有效地导入它。
在 2.3 中用户应该使用 MeshManager::createByImportingV1 代替 Mesh::importV1。此功能会“记住”通过转换过程创建了哪些网格,允许设备丢失处理重复此导入过程并重新创建资源。
另外,两个函数的功能没啥区别,参数也基本一样。
先进的阴影映射技术
引入了 Normal Offset Bias 技术,能够极大程度改善自我遮蔽和阴影失真(Shadow Acne)的问题,投射阴影的步骤也比原来的 Inverted-culling 方法好用得多。
随着 Normal Offset Bias 取代 Inverted-culling 方法,旧的函数 HlmsManager::setShadowMappingUseBackFaces() 已经被删除,取而代之的是 ShadowTextureDefinition::normalOffsetBias 和 ShadowTextureDefinition::constantBiasScale 。
稳定的 Vulkan
在 Ogre 2.3.0 中,Vulkan 已经进入稳定阶段。但要注意的是,在和 Qt 整合的时候存在一些问题,目前尚未深入研究。
Ogre-Next 2.3.0 是一个历时一年的大型版本,还有更多详细更新项,在此不一一列举,感兴趣可移步更新公告细阅。