#imgui #renderer #directx #reference-count


DirectX 11 renderer for the imgui crate

6 releases

0.7.0 Apr 8, 2021
0.2.1 Oct 3, 2020
0.2.0 Sep 25, 2020
0.1.2 Aug 30, 2020
0.1.1 Jul 21, 2020

#90 in Rendering

47 downloads per month

MIT license

792 lines


Documentation Version

DirectX 11 renderer for imgui-rs.


This crate makes use of the ComPtr wrapper of the wio crate. You have to wrap your device pointer in one to pass it to the renderer should you not use these internally already, tho care must be taken in regards of the reference count.

let device: ComPtr<ID3D11Device> = ...;
let imgui: imgui::Context = ...;
let mut renderer = imgui_dx11_renderer::Renderer::new(&mut imgui, device.clone()).expect("imgui dx11 renderer creation failed");

// rendering loop

let ui = imgui.frame();

// build your window via ui here

// then to render call
renderer.render(ui.render()).expect("imgui rendering failed");

The renderer backs up and reapplies the majority of the d3d11 renderering state when invoked.


The crate is documented but imgui-rs doesn't currently build on docs.rs for the windows target. Due to this one has to either build it themselves or look into the source itself.


Licensed under the MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)


~60K SLoC