#imgui #sdl3 #graphics #ui

easy-imgui-sdl3

Binding of the SDL3+OpenGL3 Dear Imgui backends for the easy-imgui

3 releases (breaking)

Uses new Rust 2024

new 0.21.0 Feb 21, 2026
0.20.0 Dec 1, 2025
0.19.0 Oct 26, 2025

#2178 in GUI

MIT license

5.5MB
77K SLoC

C++ 63K SLoC // 0.2% comments Rust 7.5K SLoC // 0.0% comments Visual Studio Project 4K SLoC Objective-C++ 2.5K SLoC // 0.2% comments C 365 SLoC // 0.3% comments Batch 229 SLoC Visual Studio Solution 220 SLoC Python 104 SLoC // 0.2% comments GLSL 64 SLoC Kotlin 29 SLoC // 0.1% comments PowerShell 14 SLoC // 0.4% comments Shell 1 SLoC // 0.8% comments

easy-imgui-rs

build

Build full GUI applications with Rust and Dear ImGui. It currently uses version v1.92.6.

There are several crates in this repository:

See some examples at the examples directory. The simplest one is just a few lines of code:

use easy_imgui_window::{MainWindow, MainWindowWithRenderer,
    winit::event_loop::EventLoopBuilder,
    easy_imgui as imgui,
};

fn main() {
    let event_loop = EventLoopBuilder::new().build().unwrap();
    let main_window = MainWindow::new(&event_loop, "Example").unwrap();
    let mut window = MainWindowWithRenderer::new(main_window);

    let mut app = App;

    event_loop.run(move |event, w| {
        let res = window.do_event(&mut app, &event, w);
        if res.is_break() {
            w.exit();
        }
    }).unwrap();
}

struct App;

impl imgui::UiBuilder for App {
    fn do_ui(&mut self, ui: &imgui::Ui<Self>) {
        ui.show_demo_window(None);
    }
}

Dependencies

~20MB
~366K SLoC