0

是否有可能以某种方式与程序的其他部分共享从 resources.cfg 加载到 Ogre::ResourceManager 中的 Ogre3D 资源?如果可能的话,使用 SFML 会很好。

例如,我知道 CEGUI 可以自动执行此操作。

4

2 回答 2

1

Ogre 天生将资源从文件路径中抽象出来。这是因为资源可能不一定来自文件系统(它可以通过网络流式传输,或者从压缩存档中解压缩)。所以不,如果不破坏封装,就不可能从 Ogre 资源中获取文件系统路径。

您将需要扩展 SFML 拥有的任何资源系统(如果有的话,我不熟悉 SFML 的工作原理),然后将资源数据本身传递到该库中。我发现大多数库都有某种方式向它们提供数据,而不是通过文件系统路径。如果 SFML 没有该功能,我可能会建议您研究更多……完整的东西。

您提到 CEGUI 已经这样做了。这是正确的。CEGUI/Ogre 互操作层建立在 Ogre 的资源处理框架之上,几乎可以做到这一点。它从 Ogre 请求资源,通过 Ogre 加载它们,然后将数据传递到 CEGUI。CEGUI 本身从不接触文件系统。

于 2011-05-12T14:58:08.663 回答
0

我认为您可以调用资源管理器来检索您想要的任何内容,然后将其提供给 SFML。当然,您将不得不编写代码将两者粘合在一起。

于 2011-04-07T19:38:34.510 回答