For immediate mode rendering engines, the strongest matches are vurtun/nuklear (Nuklear is a header-only immediate mode graphical user interface), immediate-mode-ui/nuklear (Nuklear is a minimal, header-only immediate-mode GUI library implemented) and rxi/microui (This minimal immediate-mode GUI library written in C implements). not-fl3/macroquad and google/skia round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked open-source immediate mode rendering engines, ranked by GitHub stars and activity. Compare the top tools and find the best fit.
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
Nuklear is a header-only immediate mode graphical user interface library written in C that implements the required immediate mode paradigm and lightweight design, though it specializes specifically in GUI development rather than general graphics rendering.
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
Nuklear is a minimal, header-only immediate-mode GUI library implemented in C with a zero-allocation design, though its primary focus is user interface development rather than general-purpose graphics rendering.
microui is a minimal immediate-mode graphical user interface library written in C, designed for resource-constrained environments such as embedded systems. It operates without dynamic memory allocation and has no external dependencies beyond standard C, making it a self-contained solution for building lightweight interfaces. The library is delivered as a single header file, simplifying integration into any project. It uses a fixed-allocator heap for all runtime state, guaranteeing deterministic memory use and predictable performance. All drawing is delegated to user-supplied callbacks, keepin
This minimal immediate-mode GUI library written in C implements zero-allocation design and a single-header distribution, though it delegates actual GPU rendering to user-supplied callbacks rather than handling it directly.
Macroquad is a Rust game engine and 2D graphics library designed for developing cross-platform games and graphical applications. It functions as a rendering engine that enables the deployment of a single codebase to desktop, mobile, and web targets. The engine utilizes an immediate mode rendering model, which allows for the creation of user interfaces and game worlds that render in a single pass within the main application loop. This approach is paired with hardware-accelerated 2D rendering and automatic draw call batching to optimize the display of geometry across different hardware devices.
Macroquad is a cross-platform 2D graphics and game development library using an immediate mode rendering model, though it is written in Rust rather than C/C++.
Skia is a high-performance 2D graphics rendering library used for drawing text, geometries, and images on digital surfaces. It functions as a hardware-accelerated graphics engine that offloads drawing operations to the GPU, a vector graphics processor for SVG and complex paths, and a typography engine for shaping and drawing characters with Unicode support. The project provides a cross-platform image codec for encoding and decoding standard image formats into raw pixel data across multiple operating systems. It also enables the development of user interfaces that maintain visual consistency a
Skia is a high-performance, cross-platform hardware-accelerated 2D graphics rendering library used for low-level UI and vector drawing, though it is not strictly header-only or designed around an explicit immediate mode paradigm.
DearPyGui is a GPU-accelerated, immediate-mode graphical user interface framework for Python. It provides a high-performance toolkit for building interactive desktop applications by leveraging native hardware-accelerated rendering backends across multiple operating systems. By utilizing an immediate-mode execution model, the library offers direct control over the rendering loop and element state, enabling the creation of responsive, dynamic interfaces. The framework distinguishes itself through its ability to handle complex, high-frequency visual updates, making it suitable for real-time data
DearPyGui is a GPU-accelerated, immediate-mode graphical user interface framework implemented in C++ with Python bindings, though its primary usage is as a Python GUI toolkit rather than a pure C/C++ rendering library.
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-vi
Dear ImGui is an iconic immediate-mode graphical user interface library that uses a lightweight, decoupled architecture to generate vertex buffers every frame, though it focuses strictly on UI rather than general 3D graphics rendering.
Sokol is a C hardware abstraction layer and cross-platform graphics library designed for managing windowing, input, and audio across different operating systems. It functions as a GPU resource manager and multimedia application framework, providing a unified API for rendering 2D and 3D graphics across WebGL, Metal, Direct3D, and OpenGL. The project is distinguished by its single-header implementation, which simplifies integration and portability. It utilizes a stateless render pass definition and a one-update-per-frame model to synchronize CPU data to GPU memory and manage resource lifecycles
Sokol is a cross-platform C graphics and multimedia library featuring a single-header design and GPU hardware abstraction, though it acts primarily as a low-level framework rather than an immediate-mode rendering engine.
This project is a C-based multimedia toolkit and cross-platform game framework designed for building interactive applications. It provides a low-level programming interface that grants direct access to hardware-accelerated graphics, real-time audio processing, and user input handling. By utilizing an immediate-mode rendering architecture, the library processes visual state changes frame-by-frame, which simplifies the logic required for dynamic interfaces and interactive simulations. The library distinguishes itself through a zero-dependency design that avoids complex external build requiremen
This library provides a cross-platform, hardware-accelerated immediate-mode rendering toolkit implemented in C with zero external dependencies, though its broader focus as a game framework makes it slightly broader than a pure rendering library.
Leif is an OpenGL-backed immediate mode graphical user interface library and graphics rendering framework. It provides a lightweight control flow where layouts and components are rebuilt every frame without retaining an internal scene graph, backed by hardware-accelerated graphics. The framework utilizes GPU-accelerated batch rendering to draw high volumes of primitives efficiently by grouping geometry into single vertex buffers. Developers can bypass standard rendering wrappers to access the underlying renderer directly, drawing raw graphics and custom geometry alongside standard interface c
Leif is an immediate mode GPU-accelerated UI library written in C using modern OpenGL, fitting the requested category well despite its focus on user interfaces rather than general graphics rendering.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| vurtun/nuklear | 14.2K | C | — | |
| immediate-mode-ui/nuklear | 10.9K | C | other | |
| rxi/microui | 5.5K | C | mit | |
| not-fl3/macroquad | 4.5K | Rust | Apache-2.0 | |
| google/skia | 10.8K | C++ | BSD-3-Clause | |
| hoffstadt/dearpygui | 15.2K | C++ | mit | |
| ocornut/imgui | 73.9K | C++ | MIT | |
| floooh/sokol | 9.6K | C | zlib | |
| raysan5/raylib | 33.5K | C | Zlib | |
| cococry/leif | 1K | C | — |