dear-imgui-wgpu

Crates.iodear-imgui-wgpu
lib.rsdear-imgui-wgpu
version0.8.0
created_at2025-09-13 17:33:54.878392+00
updated_at2026-01-02 18:02:14.070247+00
descriptionWGPU renderer backend for dear-imgui-rs (native + WebAssembly)
homepagehttps://github.com/Latias94/dear-imgui-rs
repositoryhttps://github.com/Latias94/dear-imgui-rs
max_upload_size
id1837952
size312,881
Latias94 (Latias94)

documentation

https://docs.rs/dear-imgui-wgpu

README

dear-imgui-wgpu

WGPU renderer for Dear ImGui.

Quick Start

use dear_imgui_rs::Context;
use dear_imgui_wgpu::{WgpuRenderer, WgpuInitInfo, GammaMode};

// device, queue, surface_format prepared ahead
let mut renderer = WgpuRenderer::new(WgpuInitInfo::new(device, queue, surface_format), &mut imgui)?;

// Optional: unify gamma policy across backends
renderer.set_gamma_mode(GammaMode::Auto); // Auto | Linear | Gamma22

// per-frame
renderer.render_draw_data(&imgui.render(), &mut render_pass)?;

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: picks gamma=2.2 for sRGB targets and 1.0 for linear targets.
  • You can force Linear (1.0) or Gamma22 (2.2).
  • Pair this with your swapchain format to avoid double correction.

Compatibility

Item Version
Crate 0.8.x
dear-imgui-rs 0.8.x
wgpu 28 (0.8.x), 27 (0.7.x)

See also: docs/COMPATIBILITY.md for the full workspace matrix.

Notes

  • Targets native and Web (with webgl/webgpu features mapped to wgpu features).
  • External dependency updates (wgpu) may require coordinated version bumps.

Features

  • Default: no extra features required for native builds
  • webgl: forwards to wgpu/webgl (WASM + WebGL)
  • webgpu: forwards to wgpu/webgpu (WASM + WebGPU)

Pick exactly one of webgl or webgpu for browser targets; for native leave both off.

Commit count: 274

cargo fmt