OpenMW宣布切换到OpenSceneGraph的原因(2015)

自我们第一次发布以来,Ogre3D是OpenMW使用的渲染引擎。现在,OpenMW团队正在宣布远离这个引擎。

在我们的alpha版本中,Ogre3D已证明非常有用,可实现快速开发。感谢Ogre3D,你今天已经可以在OpenMW中玩一个或多或少完整的Morrowind游戏,这本身就是一个令人难以置信的壮举。

然而,为了让OpenMW进入抛光状态并添加最后几个缺失的功能,我们面临着艰巨的任务,要么需要创建一个Ogre3D的分支,其行为与我们需要的方式相同,或者切换到更合适的引擎。经过多次讨论,我们已经确定了第二种选择。

为何切换?

没有一个特定的显示阻止,而是许多不同问题的高潮。

我们1.0版本的一个拦截器是与香草Morrowind相比较差的帧率。这归结为场景管理和渲染Ogre3D 1.x系列中的API瓶颈,这些都是Ogre3D团队所熟知的,并且已经在2.x系列中得到了解决。最初的计划是将OpenMW移植到使用Ogre3D 2.x,这是一项重大任务,因为编程接口的变化非常重要。但是,我们对此端口有一些基本的担忧:

  • 标记点:我们正在使用名为“标记点”的Ogre3D功能将Morrowind分割体的各个部分拼接在一起。2.x系列不再支持此功能,因此我们必须实现复杂的解决方法。
  • OpenGL3要求: Ogre3D 2.1分支已经放弃了对OpenGL2硬件的支持。尽管OpenMW从未打算在最初运行Morrowind的硬件上运行,但我们认为放弃OpenGL2支持还为时尚早,因为它会影响我们用户的很大一部分。
  • 材料系统: Ogre 2.1采用重新设计的材料系统,编写时考虑了AZDO(接近零驾驶员开销)优化,但代价是使定制材料难以编写。我们将在OpenMW中广泛开展这项工作,特别是考虑到用户创作的修改,因此我们宁愿拥有更灵活,更易于使用的材料系统。

除了最新的Ogre3D版本的这些问题之外,我们还有一些长期存在的问题:

  • 资源系统: Ogre3D强制使用全局资源管理器,但OpenCS中每个文档需要一个资源管理器。另一个问题是,所有资源都应该具有唯一的名称,这会导致我们方面的一些不必要的工作,并且很少会导致用户定义的资源与内部资源冲突。这也是Ogre3D团队很好理解的问题,并且在2013年开始了解决这些问题的“资源系统重新设计”项目,但遗憾的是尚未完成。
  • 材料模板支持: Morrowind使用的NIF格式可以指定“模板设置”,但Ogre3D材质后端不支持这些设置。
  • NPC宽度缩放: Morrowind中的NPC具有“权重”属性,应该在其本地X轴上缩放NPC。OpenMW当前忽略此属性,因为Ogre3D 1.x骨架系统不支持非均匀缩放。

一个新引擎

鉴于这些问题,我们一直在寻找替代方案,并找到了OpenSceneGraph,它看起来非常适合Morrowind和OpenMW所需的功能,同时还提供高性能。我们仔细评估了所有需要的功能,并验证了它们可以在OSG源代码中找到,或者可以通过插件轻松添加。该端口的详细路线图将在不久的将来发布,并定期更新,以便您可以跟进进度。

一个值得注意的区别是OpenSceneGraph仅支持OpenGL。Ogre3D内置支持OpenGL和DirectX可能被认为是其优点之一。在理想的世界中,这将为用户提供更多选择,同时不需要OpenMW团队的额外努力。不幸的是,这不是真的; 编写着色器不能以渲染系统无关的方式工作。除此之外,我们发现一些OpenMW漏洞仅在使用Direct3D后端时才会显现。因此我们对这一变化感到高兴,因为我们没有人力来维持对两种不同渲染系统的支持,而且我们的大多数开发人员都在使用Linux,因此无论如何都无法测试Direct3D渲染器。

先发制人常见问题解答

问:交换机需要多长时间?

好消息是Ogre3D是一个渲染引擎,我们只是这样使用它。OpenMW代码使用不同的子系统构建,这种变化在很大程度上只会影响“mwrender”子系统。渲染代码约占我们代码库的8%。

问:OpenMW在此期间使用OGRE会发生什么?进一步开发(新功能),仅维护/修复,完全废弃?

我们将继续像往常一样开发OGRE分支,具有新功能和错误修正,只要OSG端口仍处于开发阶段。我们知道OpenMW尽管有alpha状态,但已经有很多玩家,所以这对我们来说非常重要。

问:不同的OpenMW平台(Linux,Windows,Mac OS X,Android)怎么样?

我们将继续支持所有这些平台。

问:OpenSceneGraph网站上的图库看起来很基本。如果这个引擎太棒了,为什么没有用这个引人入胜的游戏呢?

在功能方面,OpenSceneGraph与Ogre3D一样强大(在某些方面甚至更强大),因此我们惊讶地发现用它制作的游戏并不多。OSG创始人罗伯特奥斯菲尔德有他自己的理论,为什么会出现这种情况:

关于Games和OSG与Ogre的一般说明,我怀疑它部分
取决于每个项目的根源以及围绕它成长的文化。
OSG从vis-sim世界发展而来,并且多年来发展成为
通用且高度便携的场景图库,其
社区来自专业模拟器,大规模
可视化,VR和科学市场。虽然Ogre从一开始
就是游戏的图形API,但它也可以用于
比游戏更多的东西,但文化游戏看起来仍然是它的
心脏地带。

问:我担心Direct3D支持被删除,因为与OpenGL渲染器相比,OpenMW中的Direct3D渲染器获得更高的帧速率。

我们知道这种性能差异,并且知道它可归因于Ogre3D 1.x中实现不佳的OpenGL渲染器。Valve已经证明,正确的OpenGL渲染器可以像Direct3D一样快,甚至更快。

最后的感谢信

我们欠Ogre3D很多,并希望通过我们贡献的众多补丁来弥补它。

我们要感谢所有Ogre3D贡献者的出色工作,Ogre3D论坛上的每个人都得到了我们从那里获得的所有支持和鼓励,特别感谢Kojack帮助我们调试DDS纹理问题。

 

英文网址:https://openmw.org/2015/announcing-switch-openscenegraph/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值