【问题标题】:CEGUI - Loading Resources from DLLCEGUI - 从 DLL 加载资源
【发布时间】:2014-02-12 10:18:27
【问题描述】:

我正在使用 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 文件?

【问题讨论】:

    标签: c++ cegui


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      • 2016-12-22
      • 2010-10-19
      相关资源
      最近更新 更多