Repolode
ocornut

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. 1

    将仓库根目录中的 imgui*.cpp 和 imgui*.h 文件添加到你的项目中

  2. 2

    从 backends/ 文件夹中选择与你的图形 API 和平台匹配的后端

  3. 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 数据每日更新。

相关项目