2014-02-12 9 views
0

Я использую CEGUI 0.8.2. Как я могу загрузить все ресурсы из двоичного кода? Я создал только ресурс, содержащий все необходимые ресурсы, такие как .ttf .font .schema .imageset .looknfeel и .png для набора изображений. Я использую Direct3D-рендеринг и графический движок. Я знаю, как загружать ресурсы из файлов, хранящихся на жестком диске, но я хочу инкапсулировать некоторые из этих ресурсов в DLL-файл. В текущем api есть несколько способов загрузить его с RawDataContainer.CEGUI - Загрузка ресурсов из DLL

например.

FontManager::getSingleton().createFromContainer(rawFont); 

но загружает .font XML, который ссылается font.ttf, так как загружать все ресурсы из двоичного файла? даже .ttf и .png файлы?

ответ

2

У меня есть информация с официального форума cegui, что только способ, как это сделать, заключается в создании специализированного поставщика ресурсов путем расширения класса ResourceProvider и реализации функции loadRawDataContainer. Затем вы должны инициализировать систему cegui вручную вместо вызова функции bootstrapSystem.

Ручная инициализация:

guiRenderer = &Direct3D11Renderer::create(device, context); 
if (System::getSingletonPtr()) CEGUI_THROW(InvalidRequestException("CEGUI::System object is already initialised.")); 
System::create(*guiRenderer, &ceguiResourceProvider); // inject custom resource provider 
Смежные вопросы