我使用的是CEGUI 0.8.2。如何从二进制加载所有资源?我只创建了包含所有所需资源的资源dll,如.ttf、.font、.schema、.imageset、.looknfeel和.png for imageset。我使用的是Direct3D渲染器,没有图形引擎。我知道如何从存储在硬盘上的文件中加载资源,但我想将其中一些资源封装到dll文件中。在当前的api中,有一些方法可以从RawDataContainer加载它。
例如:
FontManager::getSingleton().createFromContainer(rawFont);但是这会加载引用.font的font.ttf xml,那么如何从二进制文件加载所有资源呢?甚至是.ttf和.png文件?
发布于 2014-02-13 19:30:57
我从官方的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 providerhttps://stackoverflow.com/questions/21724944
复制相似问题