Expand description
Vulkan renderer for Dear ImGui
via the imgui crate and
ash.
This crate provides a Renderer that loads pre-compiled SPIR-V shaders,
manages GPU resources (buffers, images, descriptor sets), and converts imgui
draw commands into Vulkan command buffer recordings. The renderer owns all of
its Vulkan objects and destroys them on Drop.
Pair this crate with
imgui-glfw-rs for a complete
GLFW + Vulkan + Dear ImGui integration.
§Example
ⓘ
use imgui::Context;
use imgui_vulkan_renderer_rs::{Renderer, RendererCreateInfo};
let mut imgui = Context::create();
let create_info = RendererCreateInfo {
device: device.clone(),
memory_properties: mem_props,
render_pass,
command_pool,
queue,
};
let mut renderer = Renderer::new(&mut imgui, &create_info)
.expect("Failed to initialize renderer");
// In your main loop, after building the imgui frame:
let draw_data = imgui.render();
renderer.render(draw_data, command_buffer)?;Structs§
- Renderer
- Vulkan renderer for Dear ImGui draw data.
- Renderer
Create Info - Parameters required to create a
Renderer.
Enums§
- Renderer
Error - Errors that can occur during renderer operations.