All Projects → germangb → Imgui Ext

germangb / Imgui Ext

Licence: mit
Rust library for building imgui GUIs using a derive macro

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Imgui Ext

Dearpygui
Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
Stars: ✭ 6,631 (+6531%)
Mutual labels:  graphics, imgui
Vxr
General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
Stars: ✭ 181 (+81%)
Mutual labels:  graphics, imgui
Imgui.net
An ImGui wrapper for .NET.
Stars: ✭ 848 (+748%)
Mutual labels:  graphics, imgui
Overload
3D Game engine with editor
Stars: ✭ 335 (+235%)
Mutual labels:  graphics, imgui
Vktk
Vulkan Toolkit
Stars: ✭ 32 (-68%)
Mutual labels:  graphics, imgui
Shoebot
Easy vector graphics with Python
Stars: ✭ 88 (-12%)
Mutual labels:  graphics
Gpu Planetary Rendering
GPU atmosphertic scattering and planet generation in Unity 3D
Stars: ✭ 92 (-8%)
Mutual labels:  graphics
React Color Tools
A set of tools as React components for working with colors 🎨
Stars: ✭ 87 (-13%)
Mutual labels:  graphics
Graphicsrenderer
A drop-in UIGraphicsRenderer port -- CrossPlatform, Swift 4, Image & PDF
Stars: ✭ 85 (-15%)
Mutual labels:  graphics
Nyuziprocessor
GPGPU microprocessor architecture
Stars: ✭ 1,351 (+1251%)
Mutual labels:  graphics
Awesome Voxel
Voxel resources for coders
Stars: ✭ 96 (-4%)
Mutual labels:  graphics
Hlslexplorer
See how hardware understands your HLSL
Stars: ✭ 91 (-9%)
Mutual labels:  graphics
3dhop
3D Heritage Online Presenter
Stars: ✭ 89 (-11%)
Mutual labels:  graphics
Colourlovers
🎨 📦 R Client for the COLOURlovers API
Stars: ✭ 92 (-8%)
Mutual labels:  graphics
Citro2d
Library for drawing 2D graphics using the Nintendo 3DS's PICA200 GPU
Stars: ✭ 88 (-12%)
Mutual labels:  graphics
Smo Shaders
A collection of shaders to replicate those used in Super Mario Odyssey's Snapshot Mode.
Stars: ✭ 97 (-3%)
Mutual labels:  graphics
Gfx
Convenience package for dealing with graphics in my pixel drawing experiments.
Stars: ✭ 82 (-18%)
Mutual labels:  graphics
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+10152%)
Mutual labels:  graphics
Gpac
Modular Multimedia framework for packaging, streaming and playing your favorite content.
Stars: ✭ 1,321 (+1221%)
Mutual labels:  graphics
C3
📊 A D3-based reusable chart library
Stars: ✭ 9,163 (+9063%)
Mutual labels:  graphics

⚠️ imgui-ext needs a full rewrite. Since it was my first attempt at making a procedural macro, it has grown messy and difficult to maintain due to lack of planning. Until the rewrite happens, use with caution.

You can also check out imgui-inspect-derive, which looks neat!

imgui-ext

Build Status Cargo package docs.rs docs Master docs

A derive-macro for imgui.

#[derive(imgui_ext::Gui)]
struct Example {
    #[imgui(slider(min = 0.0, max = 4.0))]
    x: f32,
    #[imgui(input(step = 2))]
    y: i32,
    #[imgui(drag(label = "Drag 2D"))]
    drag_2d: [f32; 2],
    #[imgui(checkbox(label = "Turbo mode"))]
    turbo: bool,
}

let mut example = Example { /* skipped */ };

imgui::Window::new(im_str!("debug")).build(ui, || {
    use imgui_ext::UiExt;
    
    if ui.draw_gui(&mut example).turbo() {
        println!("Turbo mode value changed: {}", example.turbo);
    }
})

Examples

# codegen example (see examples/codegen.rs to see the macro expansion)
cargo run --example codegen

# integration with nalgebra types
cargo run --example nalgebra

Limitations

  • #[derive(imgui_ext::Gui)] is only supported for structs with named fields.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].