gpt4 book ai didi

c++ - CEGUI - 从 DLL 加载资源

转载 作者:行者123 更新时间:2023-11-28 02:57:08 25 4
gpt4 key购买 nike

我正在使用 CEGUI 0.8.2。如何从二进制加载所有资源?我创建了仅包含所有所需资源的资源 dll,例如用于图像集的 .ttf .font .schema .imageset .looknfeel.png。我使用的是 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

关于c++ - CEGUI - 从 DLL 加载资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21724944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com