awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
ocornut avatar

ocornut/imgui

0
View on GitHub↗
73,875 stars·11,817 forks·C++·MIT·17 views

Imgui

This project is an immediate-mode graphical user interface library designed for rapid development of tools and debugging interfaces. By generating UI geometry every frame through procedural code, it eliminates the need for persistent state synchronization between application data and the interface. It is primarily intended for integration into existing rendering pipelines, where it produces raw vertex buffers and draw commands that are agnostic to the underlying graphics API.

The library distinguishes itself through a highly decoupled architecture that supports complex, dockable, and multi-viewport layouts. It manages window positions, tab dragging, and node splitting, allowing developers to detach interface elements into independent operating system windows. To ensure consistent interaction across diverse environments, it maps native input events into a unified format and provides robust identifier-based scoping to track element states across frames.

The framework offers a broad capability surface for building sophisticated engine tooling and diagnostic utilities. It includes support for advanced visual components such as node editors, 2D and 3D plotters, and specialized inspectors, alongside infrastructure for DPI scaling and custom shape rendering. The system is designed for high portability, featuring compile-time configuration options that allow developers to adapt core data structures and mathematical types to specific engine requirements.

The repository provides extensive examples for connecting the library to major graphics backends and frameworks, alongside tools for generating language-specific bindings.

Features

  • Backend-Agnostic Rendering Pipelines - Decouples interface logic from graphics APIs by producing raw vertex buffers and draw commands for external host renderers.
  • Vertex Buffer Generators - Converts high-level interface descriptions into optimized vertex data for rendering within three-dimensional pipelines.
  • Engine Backends - Bridges interface logic to custom engines by mapping input events and uploading textures through platform-specific backends.
  • Immediate Mode UI Libraries - Constructs interface geometry every frame to simplify state management and integration with custom rendering pipelines.
  • Window Docking Systems - Facilitates window layout management through tab dragging, node splitting, and the undocking of individual interface hierarchies.
  • Immediate Mode UI Development - Builds lightweight, frame-based graphical interfaces that integrate directly into existing rendering loops for real-time applications.
  • Text Editors - Embeds colorizing text editing components directly into graphical applications for real-time manipulation.
  • Game Engine Tooling - Enables the creation of custom editors, debug inspectors, and visual manipulation gizmos within high-performance graphics engines.
  • Graphics Backends - Connects interactive interface components to diverse rendering backends including Vulkan, Metal, and DirectX.
  • ID-Based Widget Scoping - Assigns unique identifiers to interface elements based on call stacks or labels to track interaction state across frames.
  • Developer-Focused Debugging Interfaces - Provides a specialized toolkit for building real-time inspectors, memory editors, and diagnostic tools for complex software.
  • Dynamic Debugging Visualizations - Implements real-time memory editors, graph plotters, and state inspectors to monitor application data during active development.
  • Docking Systems - Organizes flexible, tabbed, and split-pane interface regions to host nested content while maintaining stable layouts.
  • Immediate Mode Plotting Libraries - Renders advanced two-dimensional data plots and visualizations directly within the immediate-mode interface.
  • Platform-Specific Input Bridging - Translates native operating system mouse and keyboard events into a unified internal format for consistent cross-platform interaction.
  • DPI Scaling - Scales font sizes and layout dimensions automatically based on display resolution to maintain legibility on high-density screens.
  • Multi-Viewport Windowing Systems - Detaches interface elements from the main application boundary to render them as independent operating system windows.
  • Node Editors - Supports the creation of visual graph-based editing interfaces for connecting nodes and managing data flows.
  • Web Frameworks - Integrates with diverse platform frameworks and graphics APIs to enable cross-platform interface rendering.
  • Docking Layout Systems - Controls complex, user-configurable window arrangements through node splitting and zone assignment.
  • Code Examples - Immediate mode graphical user interface library for performance-critical applications.
  • Creative Coding Frameworks - Bloat-free GUI library for C++.
  • Game Engines and Frameworks - Immediate mode GUI library for C++ applications.
  • Graphical User Interface - Immediate-mode GUI for visualization and debugging tools.
  • Graphical User Interfaces - Immediate-mode GUI library for visualization and debug tools.
  • Graphics and Rendering - Immediate-mode GUI library with minimal dependencies.
  • Graphics Libraries - Immediate mode GUI library with Vulkan support.
  • GUI Frameworks - Immediate-mode GUI with minimal dependencies.
  • User Interface - Bloat-free immediate mode GUI library.
  • User Interface Frameworks - Immediate-mode graphical user interface.
  • Media & Communication - Bloat-free graphical user interface
  • Cross-Platform Graphics Tooling - Uniformly maps interface geometry across diverse operating systems and hardware backends to ensure consistent visual output.
  • Binding Generators - Exposes C API metadata to facilitate the automated creation of language-specific wrappers and bindings.
  • System Input Handling - Processes raw mouse, keyboard, and window event data to maintain high interface responsiveness.
  • Custom Shape Rendering - Draws lines and custom geometric shapes directly onto application windows using low-level coordinate primitives.
  • Viewport-Independent Windowing - Permits the detachment of interface elements into separate, independent operating system windows.
  • UI Test Engines - Automates functional and visual testing by driving interface interactions through a dedicated engine.
  • Flexible Windowing Systems - Manages complex dockable layouts and multi-viewport workspaces to allow flexible arrangement of interface tools.
  • Serialization and Reflection Tools - Inspects variable types at runtime to automatically generate and serialize corresponding interface controls.
  • Compile-Time Header Configurations - Customizes core data types and mathematical structures via preprocessor macros before compilation.
  • Graphics Pipeline Configurations - Maintains graphics states such as blending modes and projection matrices to ensure correct visual output.
  • Language Bindings - Offers a common interface that allows various programming languages to access core graphical functionality.
  • Widget Identifier Systems - Applies unique scoping labels to interface elements to ensure precise targeting of user inputs.
  • Knobs - Supplies rotary control widgets for adjusting numerical values within a graphical interface.
  • Hexadecimal Editors - Displays and modifies raw binary data structures through dedicated hexadecimal editing components.

Star history

Star history chart for ocornut/imguiStar history chart for ocornut/imgui

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Imgui

Similar open-source projects, ranked by how many features they share with Imgui.
  • bkaradzic/bgfxbkaradzic avatar

    bkaradzic/bgfx

    17,161View on GitHub↗

    bgfx is a cross-platform, graphics rendering abstraction layer designed for high-performance applications. It provides a unified interface that maps high-level rendering commands to native graphics APIs, allowing developers to maintain a single codebase that executes consistently across diverse operating systems and hardware architectures. The library distinguishes itself through a multi-threaded command submission model that decouples rendering logic from the main application thread, effectively minimizing CPU bottlenecks. It utilizes a backend-agnostic command buffer and a deferred resource

    Cd3d11d3d12directx
    View on GitHub↗17,161
  • immediate-mode-ui/nuklearImmediate-Mode-UI avatar

    Immediate-Mode-UI/Nuklear

    10,884View on GitHub↗

    Nuklear is a minimal, header-only graphical user interface toolkit written in C. It utilizes an immediate-mode rendering model, where the interface is reconstructed and drawn directly within the application loop each frame. This approach eliminates the need for persistent widget state or complex synchronization between the interface and underlying application data. The library is designed for portability and integration into resource-constrained environments. It requires the host application to manage memory manually, allowing it to function in systems that lack standard library support. By d

    Ccc89gui
    View on GitHub↗10,884
  • nicbarker/claynicbarker avatar

    nicbarker/clay

    17,443View on GitHub↗

    Clay is a header-only layout engine designed for C and C++ applications that computes element positions and dimensions using a declarative box model. By operating as an immediate-mode framework, it calculates interface geometry dynamically on every frame, allowing for the creation of responsive and fluid user interfaces without maintaining persistent state. The library functions as a platform-agnostic tool that decouples layout logic from specific graphics backends. It provides a flexible coordinate system that supports layered elements, such as modals and tooltips, alongside standard documen

    Clayoutui
    View on GitHub↗17,443
  • vurtun/nuklearvurtun avatar

    vurtun/nuklear

    14,186View on GitHub↗

    Nuklear is a portable, header-only immediate mode graphical user interface library written in C. It is designed to function as a lightweight framework for creating interfaces that render directly to hardware, making it suitable for integration into custom graphics engines, embedded systems, and resource-constrained environments. The library operates by generating abstract draw commands that are converted into vertex buffers, allowing for hardware-accelerated rendering through standard graphics APIs. By utilizing an immediate mode approach, the interface state is defined and updated within the

    Ccc89gui
    View on GitHub↗14,186
See all 30 alternatives to Imgui→

Frequently asked questions

What does ocornut/imgui do?

This project is an immediate-mode graphical user interface library designed for rapid development of tools and debugging interfaces. By generating UI geometry every frame through procedural code, it eliminates the need for persistent state synchronization between application data and the interface. It is primarily intended for integration into existing rendering pipelines, where it produces raw vertex buffers and draw commands that are agnostic to the underlying graphics API.

What are the main features of ocornut/imgui?

The main features of ocornut/imgui are: Backend-Agnostic Rendering Pipelines, Vertex Buffer Generators, Engine Backends, Immediate Mode UI Libraries, Window Docking Systems, Immediate Mode UI Development, Text Editors, Game Engine Tooling.

What are some open-source alternatives to ocornut/imgui?

Open-source alternatives to ocornut/imgui include: bkaradzic/bgfx — bgfx is a cross-platform, graphics rendering abstraction layer designed for high-performance applications. It provides… immediate-mode-ui/nuklear — Nuklear is a minimal, header-only graphical user interface toolkit written in C. It utilizes an immediate-mode… nicbarker/clay — Clay is a header-only layout engine designed for C and C++ applications that computes element positions and dimensions… vurtun/nuklear — Nuklear is a portable, header-only immediate mode graphical user interface library written in C. It is designed to… diligentgraphics/diligentengine — DiligentEngine is a cross-platform graphics abstraction layer and physically-based rendering engine. It provides a… idea4good/guilite — GuiLite is a header-only C++ graphical user interface library and cross-platform framework. It provides a minimal…