Skip to main content

Crate imgui_vulkan_renderer_rs

Crate imgui_vulkan_renderer_rs 

Source
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.
RendererCreateInfo
Parameters required to create a Renderer.

Enums§

RendererError
Errors that can occur during renderer operations.