基于 OpenGL ES 的跨平台 Java 游戏开发框架,支持桌面、Android、浏览器和 iOS。
ocornut/imgui
Dear ImGui 是一个轻量、依赖少的 C++ 即时模式图形界面库,适合开发调试工具与游戏引擎内的编辑器界面。
- Star
- 76,754
- Fork
- 12,077
- 未关闭 Issue
- 1,222
- 最近提交
- 5天前
这是什么?
Dear ImGui 是一个面向 C++ 的图形界面库,采用即时模式(immediate mode)范式。开发者不需要维护控件树,而是在每一帧调用 Button、SliderFloat 等函数,函数直接返回用户交互的结果。核心代码由几个与平台无关的源文件组成,可以直接加入现有项目,无需特殊构建流程。
它不直接调用图形 API 绘制,而是输出顶点缓冲和少量绘制命令,由应用自己的渲染管线完成绘制。仓库内提供 DirectX、Metal、OpenGL、Vulkan、WebGPU 等渲染后端,以及 GLFW、SDL、Win32 等平台后端。它主要用于内容制作工具、调试器、性能分析器和游戏引擎编辑器,不提供完整的国际化(如从右到左文本)和无障碍功能。
核心功能
- 01即时模式 API,每帧在代码中声明界面,无需同步保留的控件状态
- 02输出顶点缓冲和批量绘制命令,渲染与库本身解耦
- 03核心由少量独立源文件组成,没有外部依赖
- 04官方提供多种图形 API 与平台后端,包括 Win32、GLFW、SDL 和 Android
- 05内置演示窗口,展示丰富的控件、图表和布局选项
适用场景
- 为游戏引擎或实时 3D 应用添加调试面板与性能分析视图
- 快速开发内容制作工具或数据检查工具
- 在主机或嵌入式设备上为运行中的程序添加参数调节界面
快速上手
- 1
将仓库根目录中的 imgui*.cpp 和 imgui*.h 文件添加到你的项目中
- 2
从 backends/ 文件夹中选择与你的图形 API 和平台匹配的后端
- 3
调用 ImGui::ShowDemoWindow() 查看示例功能,源码位于 imgui_demo.cpp
使用前须知
- 不支持完整的国际化功能,包括从右到左和双向文本。
- 不支持无障碍(accessibility)功能。
- 它面向调试、工具和游戏引擎界面,而不是面向普通终端用户的界面。
标签
常见问题
- imgui 是什么?
- Dear ImGui 是一个轻量、依赖少的 C++ 即时模式图形界面库,适合开发调试工具与游戏引擎内的编辑器界面。 Dear ImGui 是一个面向 C++ 的图形界面库,采用即时模式(immediate mode)范式。开发者不需要维护控件树,而是在每一帧调用 Button、SliderFloat 等函数,函数直接返回用户交互的结果。核心代码由几个与平台无关的源文件组成,可以直接加入现有项目,无需特殊构建流程。
- imgui 可以免费使用吗?用的什么许可证?
- imgui 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- imgui 还在维护吗?
- 活跃维护中。imgui 最近一次提交是在 2026年10月16日。
- imgui 适合用来做什么?
- 为游戏引擎或实时 3D 应用添加调试面板与性能分析视图 快速开发内容制作工具或数据检查工具 在主机或嵌入式设备上为运行中的程序添加参数调节界面
- imgui 怎么安装和运行?
- 将仓库根目录中的 imgui*.cpp 和 imgui*.h 文件添加到你的项目中 从 backends/ 文件夹中选择与你的图形 API 和平台匹配的后端 调用 ImGui::ShowDemoWindow() 查看示例功能,源码位于 imgui_demo.cpp
- 在哪里获取 imgui?
- 源代码和安装说明在 GitHub 上:https://github.com/ocornut/imgui
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 .NET 的跨平台游戏框架,使用 C# 开发 2D 和 3D 游戏,是已停止维护的 XNA 框架的开源重新实现。
面向 D 语言的轻量 2D 游戏引擎,内置物理、动画、瓦片地图和对话系统。
一款面向 Python 的复古游戏引擎,用于制作像素风格的小型游戏。
面向游戏和 VR 应用的 C++ 刚体物理与碰撞检测库,支持多核并行。
面向 Go 语言的简洁 2D 游戏引擎,可部署到桌面、移动端和 WebAssembly 等多个平台。