Xelloss0618 发表于 2023-6-23 10:12:34

【开源】ImGui支持库

本帖最后由 Xelloss0618 于 2023-6-24 20:39 编辑

这应该是火山第一个免费开源的 Dear ImGui 支持库,之前有人问了我很多 ImGui 封装的相关技术问题,就顺手开坑了。
之前应该有人封装过未公开、未开源或收费的火山 ImGui,这种火山库我基本没有接触,易语言版也没什么好参考的,所以这个 ImGui 的封装方式就全凭我自己的喜好了。
目前公开的预览版 ,已经搭好了基本框架,如果你们觉得有问题请尽快反馈,以后定型了就不好改了。

下载:
集成在最新版的 PIV 模块中,推荐用「火山平台升级工具」更新安装。
网盘:https://saier.lanzoul.com/b016cwvle


06-24 更新:补全 DX12 和 Vulkan 的图片加载;降低窗口不显示时的资源占用;完善例程,特别是完全重写了 WTL/MFC 的例程。

ImGui支持库简介:

1. 支持 Win32、GLFW 和 SDL2 三种窗口框架,支持 OpenGL、Vulkan、DirectX 9 到 12 的图形接口,你可以选择其中特定的组合来创建 ImGui 窗口。
2. 可以基于火山的 MFC 和 WTL 界面类创建 ImGui 窗口(请参考例程里的模板)。
3. ImGui 的内部文本编码是 UTF-8,所以我将 ImGui 绝大部分方法的文本参数封装成通用型,允许使用多种文本类型(文本型、字节集类和 PIV 模块里的其他文本类型)。
   由于 ImGui 每一帧都要重新渲染,默认每秒要执行 60 次界面布局,因此我推荐使用 PIV 模块里的「标准文本类U」,可以避免文本编码转换。
4. DirectX 推荐使用 11 版(兼容 Windows 7 及之后的系统);特别不推荐 DirectX 9,因为它比较老了,而且有些功能需要安装旧版 DirectX SDK。
5. DirectX 12 和 Vulkan 的图形 API 都更接近硬件底层,内部实现代码写得又臭又长,不好修改,非必要别用。

附加 DLL 情况:
1. Dear ImGui 本体是从源码编译,无需外部 lib 和 dll。
2. 窗口框架 GLFW 和 SDL2 默认使用静态库,如果你把“火山模块的链接方式”改成动态链接,它也会附带 dll。
3. DirectX 是系统自带或另外安装,一般不需要程序附带 dll。
4. OpenGL 链接器从 Windows 95 开始就是系统自带,不需要程序附带 dll。
5. Vulkan 必须依赖 vulkan-1.dll,由于 Vulkan 比较新,Windows 7 及之前的系统肯定是没有的,Windows 10 之后能在 System32 里找到这个文件,但我不确定这是系统自带还是显卡驱动安装进去的。总之程序默认附带这个 dll,你可以看情况选择是否将它打包发布。

未来更新:
1. 补完部分未封装的功能
2. 补完中文常量名和备注
3. 更多的例子
4. 更多的第三方 ImGui 扩展
5. 增加 SDL 3.0 后端的支持(需要等 SDL 3.0 发布正式版)


suyan 发表于 2023-6-23 10:19:03

6666

大有可为 发表于 2023-6-23 10:21:32

前排支持

shuimiao 发表于 2023-6-23 10:24:08

牛逼,支持大佬

amwji 发表于 2023-6-23 11:28:43

来下载大佬的神作,漂亮

nurjay 发表于 2023-6-23 11:34:34

感谢你对火山的支持
刚看了,所有控件都支持Unicode编码,不知道这些控件支不支持“从左到右”或“从右到左”的书写方式

xucy 发表于 2023-6-23 11:41:15

牛逼,支持大佬:噜阿噜

server 发表于 2023-6-23 11:42:12

厉害!!

诗木 发表于 2023-6-23 11:46:32

前排感谢大佬

Xelloss0618 发表于 2023-6-23 11:47:03

nurjay 发表于 2023-6-23 11:34
感谢你对火山的支持
刚看了,所有控件都支持Unicode编码,不知道这些控件支不支持“从左到右”或“从右到左 ...

没看到相关选项
页: [1] 2 3 4 5 6
查看完整版本: 【开源】ImGui支持库