dear-imgui-wgpu
WGPU renderer for Dear ImGui.
Quick Start
use Context;
use ;
// device, queue, surface_format prepared ahead
let mut renderer = new?;
// Optional: unify gamma policy across backends
renderer.set_gamma_mode; // Auto | Linear | Gamma22
// per-frame
renderer.render_draw_data?;
Selecting wgpu version
By default this crate uses wgpu v28.
If your ecosystem is pinned to wgpu v27 (e.g. a release train), select it explicitly:
[]
= { = "0.10", = false, = ["wgpu-27"] }
What You Get
- ImGui v1.92 texture system integration (create/update/destroy)
- Multi-frame buffering and device-object management
- Format-aware or user-controlled gamma (see below)
sRGB / Gamma
- Default
GammaMode::Auto: picksgamma=2.2for sRGB targets and1.0for linear targets. - You can force
Linear(1.0) orGamma22(2.2). - Pair this with your swapchain format to avoid double correction.
Compatibility
| Item | Version |
|---|---|
| Crate | 0.10.x |
| dear-imgui-rs | 0.10.x |
| wgpu | 28 (default), 27 (feature wgpu-27) |
See also: docs/COMPATIBILITY.md for the full workspace matrix.
Notes
- Targets native and Web (with
webgl/webgpufeatures mapped to wgpu features). - External dependency updates (wgpu) may require coordinated version bumps.
Features
- Default: no extra features required for native builds
- WGPU version selection (mutually exclusive)
wgpu-28(default)wgpu-27
- WASM targets
webgl/webgpuselect the WASM route for the defaultwgpu-28build- With
wgpu-27, usewebgl-wgpu27/webgpu-wgpu27instead
Pick exactly one of webgl or webgpu for browser targets; for native leave both off.