繁体   English   中英

CEGUI - 从DLL加载资源

[英]CEGUI - Loading Resources from DLL

我正在使用CEGUI 0.8.2。 如何从二进制加载所有资源? 我创建了仅包含所有必需资源的资源dll,例如.ttf .font .schema .imageset .looknfeel.png for imageset 我正在使用Direct3D渲染器而没有图形引擎。 我知道如何从存储在硬盘驱动器上的文件加载资源,但我想将其中一些资源封装到一个dll文件中。 当前的api中有一些方法可以从RawDataContainer加载它。

例如

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

但这会加载引用font.ttf的.font xml,那么如何从二进制文件加载所有资源? 甚至.ttf和.png文件?

我从官方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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM