pub struct Renderer {
pub textures: Textures<Texture>,
/* private fields */
}Expand description
The main imgui-wgpu renderer.
Manages the wgpu render pipeline, GPU buffers, and texture storage needed to
render imgui draw data. Create one with Renderer::new, then call
Renderer::render (or Renderer::prepare + Renderer::split_render)
each frame inside a wgpu render pass.
Fields§
§textures: Textures<Texture>Texture storage for the font atlas and user-registered images.
Insert custom Textures here to get a TextureId for use with imgui
image widgets. The font atlas texture is inserted automatically.
Implementations§
Source§impl Renderer
impl Renderer
Sourcepub fn new(
imgui: &mut Context,
device: &Device,
queue: &Queue,
config: RendererConfig<'_>,
) -> Self
pub fn new( imgui: &mut Context, device: &Device, queue: &Queue, config: RendererConfig<'_>, ) -> Self
Create an entirely new imgui wgpu renderer.
Sourcepub fn prepare(
&self,
draw_data: &DrawData,
render_data: Option<RenderData>,
queue: &Queue,
device: &Device,
) -> RenderData
pub fn prepare( &self, draw_data: &DrawData, render_data: Option<RenderData>, queue: &Queue, device: &Device, ) -> RenderData
Prepares buffers for the current imgui frame. This must be
called before Renderer::split_render, and its output must
be passed to the render call.
Sourcepub fn split_render<'r>(
&'r self,
draw_data: &DrawData,
render_data: &'r RenderData,
rpass: &mut RenderPass<'r>,
) -> RendererResult<()>
pub fn split_render<'r>( &'r self, draw_data: &DrawData, render_data: &'r RenderData, rpass: &mut RenderPass<'r>, ) -> RendererResult<()>
Render the current imgui frame. Renderer::prepare must be
called first, and the output render data must be kept for the
lifetime of the renderpass.
Sourcepub fn render<'r>(
&'r mut self,
draw_data: &DrawData,
queue: &Queue,
device: &Device,
rpass: &mut RenderPass<'r>,
) -> RendererResult<()>
pub fn render<'r>( &'r mut self, draw_data: &DrawData, queue: &Queue, device: &Device, rpass: &mut RenderPass<'r>, ) -> RendererResult<()>
Render the current imgui frame.
Sourcepub fn reload_font_texture(
&mut self,
imgui: &mut Context,
device: &Device,
queue: &Queue,
)
pub fn reload_font_texture( &mut self, imgui: &mut Context, device: &Device, queue: &Queue, )
Updates the texture on the GPU corresponding to the current imgui font atlas.
This has to be called after loading a font.