| Crates.io | dear-imgui-glow |
| lib.rs | dear-imgui-glow |
| version | 0.8.0 |
| created_at | 2025-09-13 17:34:51.245227+00 |
| updated_at | 2026-01-02 18:03:13.97902+00 |
| description | Glow (OpenGL) renderer backend for dear-imgui-rs |
| homepage | https://github.com/Latias94/dear-imgui-rs |
| repository | https://github.com/Latias94/dear-imgui-rs |
| max_upload_size | |
| id | 1837953 |
| size | 193,130 |
Glow (OpenGL) renderer for Dear ImGui.
use dear_imgui_rs::Context;
use dear_imgui_glow::GlowRenderer;
use glow::HasContext;
let gl = unsafe { glow::Context::from_loader_function(|s| loader.get_proc_address(s) as *const _) };
let mut imgui = Context::create();
let mut renderer = GlowRenderer::new(gl, &mut imgui)?;
// per-frame
let draw_data = imgui.render();
renderer.new_frame()?;
renderer.render(&draw_data)?;
Pipeline choice
FRAMEBUFFER_SRGB disabled (default). Colors are passed through without gamma.FRAMEBUFFER_SRGB.
renderer.set_framebuffer_srgb_enabled(true) // enabled during render, disabled after
Vertex color gamma (auto + override)
ColorGamma uniform.2.2 when FRAMEBUFFER_SRGB is enabled (decode vertex colors from sRGB → linear before write)1.0 when FRAMEBUFFER_SRGB is disabled (pass-through)// Force a custom gamma (e.g., 2.2 or 1.0). Use None to restore auto.
renderer.set_color_gamma_override(Some(2.2));
renderer.set_color_gamma_override(None);
Clear color
gl.clear_color(r,g,b,a) is specified in linear space. With sRGB FB, the driver encodes it on write,
so the on-screen hex may not equal r,g,b * 255 exactly (this is expected).| Item | Version |
|---|---|
| Crate | 0.8.x |
| dear-imgui-rs | 0.8.x |
| glow | 0.16 |
See also: docs/COMPATIBILITY.md for the full workspace matrix.
bind_vertex_array_support, vertex_offset_supportextras to include
gl_extensions_support, bind_sampler_support, clip_origin_support,
polygon_mode_support, primitive_restart_supportdebug_message_insert_support (no-op if disabled)multi-viewport (declared but currently not fully supported; off by default)Rule of thumb: use the defaults; turn on extras only if you need those GL knobs.