Repolode
ocornut

ocornut/imgui

Dear ImGui — компактная библиотека GUI для C++ с минимумом зависимостей и парадигмой immediate mode, предназначенная для отладочных интерфейсов, инструментов и игровых движков.

Звёзды
76,754
Форки
12,077
Открытые issues
1,222
Последний коммит
5 дней назад

Что это?

Dear ImGui — библиотека графического интерфейса для C++, использующая парадигму immediate mode. Вместо создания и хранения дерева виджетов приложение каждый кадр вызывает функции вроде Button или SliderFloat, а библиотека сообщает, взаимодействовал ли с ними пользователь. Ядро состоит из нескольких исходных файлов, не зависящих от платформы: их можно добавить в существующий проект без специального процесса сборки.

Вместо непосредственной отрисовки через графический API Dear ImGui выдаёт буферы вершин и короткий список вызовов отрисовки, которые приложение обрабатывает собственным конвейером. В репозитории есть бэкенды для DirectX, Metal, OpenGL, Vulkan, WebGPU и других API, а также платформенные слои для GLFW, SDL, Win32 и других платформ. Библиотека предназначена для инструментов создания контента, отладчиков, профилировщиков и редакторов движков, а не для пользовательских приложений; она не поддерживает полноценную интернационализацию и функции доступности.

Ключевые возможности

  • 01API в стиле immediate mode: интерфейс описывается в коде каждый кадр, состояние виджетов не нужно хранить и синхронизировать
  • 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

Что важно знать

  • Полная интернационализация не поддерживается, включая текст с направлением справа налево и двунаправленный текст.
  • Функции доступности не поддерживаются.
  • Библиотека предназначена для интерфейсов отладки, инструментов и игровых движков, а не для обычных пользовательских интерфейсов.

Темы

Частые вопросы

Что такое imgui?
Dear ImGui — компактная библиотека GUI для C++ с минимумом зависимостей и парадигмой immediate mode, предназначенная для отладочных интерфейсов, инструментов и игровых движков. Dear ImGui — библиотека графического интерфейса для C++, использующая парадигму immediate mode. Вместо создания и хранения дерева виджетов приложение каждый кадр вызывает функции вроде Button или SliderFloat, а библиотека сообщает, взаимодействовал ли с ними пользователь. Ядро состоит из нескольких исходных файлов, не зависящих от платформы: их можно добавить в существующий проект без специального процесса сборки.
imgui можно использовать бесплатно? Какая у него лицензия?
imgui распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
imgui всё ещё поддерживается?
Активно поддерживается. Последний коммит в imgui — 16 окт. 2026 г..
Для чего можно использовать imgui?
Добавление отладочных панелей или представлений профилировщика в игровой движок либо приложение для 3D-графики в реальном времени Создание инструментов для работы с контентом или проверки данных, требующих быстрой итерации Создание встроенного интерфейса для настройки переменных на консолях или встраиваемых системах с нестандартными возможностями ОС
Как установить imgui?
Добавьте в проект основные файлы imgui*.cpp и imgui*.h из корневой папки репозитория Выберите в папке backends/ бэкенды, подходящие для вашего графического API и платформы Вызовите ImGui::ShowDemoWindow(), чтобы посмотреть примеры возможностей; исходный код находится в imgui_demo.cpp
Где скачать imgui?
Исходный код и инструкции по установке — на GitHub: https://github.com/ocornut/imgui

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты