C ++, Ogre3D, SFML, совместное использование ресурсов? - PullRequest
0 голосов
/ 07 апреля 2011

Можно ли каким-то образом разделить ресурсы Ogre3D, загруженные в Ogre :: ResourceManager из resources.cfg, с другими частями программы?Если возможно с SFML, это было бы неплохо.

Я знаю, что CEGUI, например, может сделать это автоматически.

Ответы [ 2 ]

1 голос
/ 12 мая 2011

Огр по своей природе абстрагирует ресурсы от путей к файлам. Это связано с тем, что ресурс может необязательно поступать из файловой системы (он может передаваться по сети или распаковываться из сжатого архива). Поэтому нет, не нарушая инкапсуляцию, невозможно получить путь к файловой системе из ресурса Ogre.

Вам нужно будет расширить любую систему ресурсов, имеющуюся в SFML (если она есть, я не знаком с тем, как работает SFML), а затем передать сами данные ресурса в эту библиотеку. Я обнаружил, что у большинства библиотек есть какой-то способ предоставления им данных, кроме путей файловой системы. Если SFML не имеет этой функции, я мог бы предложить немного подробнее ... завершить.

Вы упомянули, что CEGUI уже делает это. Правильно. Уровень взаимодействия CEGUI / Ogre построен на основе инфраструктуры обработки ресурсов Ogre, чтобы сделать это в значительной степени. Он запрашивает ресурсы у Ogre, загружает их через Ogre, а затем передает данные в CEGUI. Сам CEGUI никогда не касается файловой системы.

0 голосов
/ 07 апреля 2011

Я думаю, вы могли бы вызвать Resource Manager, чтобы получить все, что вы хотели, а затем предоставить его в SFML.Вам, конечно, придется написать код, чтобы склеить их вместе.

...