oh-my-dear-imgui

A bit more than minimal wrapper library for ImGui-based applications.

The idea behind oh-my-dear-imgui (omdi) is to provide an easily extensible wrapper around the great Dear ImGui library. omdi builds upon ImGui itself, together with several other useful extensions exposing a more idiomatic and higher-level API to help build ImGui-based applications in C++.

Features

  • basic manager classes for picker dialogs, toasts (notifications), screenshots, fonts, etc.;

  • basic ui component classes, e.g., menubars, etc.;

  • app state with optional conversion to/from toml;

  • functionality for error handling (safe rendering + error notification) at runtime;

  • external font/icon support (see src/assets/);

  • dependencies can be built from the downloaded submodules or fetched with CMake at compile time;

  • includes some third-party ImGui plugins (also built in-tree): ImPlot, ImGuiFileDialog;

  • includes GPU-accelerated version of ImPlot-s PlotHeatmap (courtesy of unmerged backends branch).

TODO

documentation

notifications (via ImGuiNotify)

GPU-accelerated heatmap

image export (via stb)

support for other backends