pub struct Renderer {
pub paint_callback_resources: TypeMap,
/* private fields */
}
Expand description
Renderer for a egui based GUI.
Fields§
§paint_callback_resources: TypeMap
Storage for use by [egui::PaintCallback
]’s that need to store resources such as render
pipelines that must have the lifetime of the renderpass.
Implementations§
source§impl Renderer
impl Renderer
sourcepub fn new(
device: &Device,
output_color_format: TextureFormat,
output_depth_format: Option<TextureFormat>,
msaa_samples: u32
) -> Self
pub fn new(
device: &Device,
output_color_format: TextureFormat,
output_depth_format: Option<TextureFormat>,
msaa_samples: u32
) -> Self
Creates a renderer for a egui UI.
output_color_format
should preferably be [wgpu::TextureFormat::Rgba8Unorm
] or
[wgpu::TextureFormat::Bgra8Unorm
], i.e. in gamma-space.
sourcepub fn render<'rp>(
&'rp self,
render_pass: &mut RenderPass<'rp>,
paint_jobs: &[ClippedPrimitive],
screen_descriptor: &ScreenDescriptor
)
pub fn render<'rp>(
&'rp self,
render_pass: &mut RenderPass<'rp>,
paint_jobs: &[ClippedPrimitive],
screen_descriptor: &ScreenDescriptor
)
Executes the egui renderer onto an existing wgpu renderpass.
sourcepub fn update_texture(
&mut self,
device: &Device,
queue: &Queue,
id: TextureId,
image_delta: &ImageDelta
)
pub fn update_texture(
&mut self,
device: &Device,
queue: &Queue,
id: TextureId,
image_delta: &ImageDelta
)
Should be called before render()
.
pub fn free_texture(&mut self, id: &TextureId)
sourcepub fn texture(&self, id: &TextureId) -> Option<&(Option<Texture>, BindGroup)>
pub fn texture(&self, id: &TextureId) -> Option<&(Option<Texture>, BindGroup)>
Get the WGPU texture and bind group associated to a texture that has been allocated by egui.
This could be used by custom paint hooks to render images that have been added through with
egui_extras::RetainedImage
or egui::Context::load_texture
.
sourcepub fn register_native_texture(
&mut self,
device: &Device,
texture: &TextureView,
texture_filter: FilterMode
) -> TextureId
pub fn register_native_texture(
&mut self,
device: &Device,
texture: &TextureView,
texture_filter: FilterMode
) -> TextureId
Registers a wgpu::Texture
with a egui::TextureId
.
This enables the application to reference the texture inside an image ui element.
This effectively enables off-screen rendering inside the egui UI. Texture must have
the texture format TextureFormat::Rgba8UnormSrgb
and
Texture usage TextureUsage::SAMPLED
.
sourcepub fn update_egui_texture_from_wgpu_texture(
&mut self,
device: &Device,
texture: &TextureView,
texture_filter: FilterMode,
id: TextureId
)
pub fn update_egui_texture_from_wgpu_texture(
&mut self,
device: &Device,
texture: &TextureView,
texture_filter: FilterMode,
id: TextureId
)
Registers a wgpu::Texture
with an existing egui::TextureId
.
This enables applications to reuse TextureId
s.
sourcepub fn register_native_texture_with_sampler_options(
&mut self,
device: &Device,
texture: &TextureView,
sampler_descriptor: SamplerDescriptor<'_>
) -> TextureId
pub fn register_native_texture_with_sampler_options(
&mut self,
device: &Device,
texture: &TextureView,
sampler_descriptor: SamplerDescriptor<'_>
) -> TextureId
Registers a wgpu::Texture
with a egui::TextureId
while also accepting custom
wgpu::SamplerDescriptor
options.
This allows applications to specify individual minification/magnification filters as well as custom mipmap and tiling options.
The Texture
must have the format TextureFormat::Rgba8UnormSrgb
and usage
TextureUsage::SAMPLED
. Any compare function supplied in the SamplerDescriptor
will be
ignored.
sourcepub fn update_egui_texture_from_wgpu_texture_with_sampler_options(
&mut self,
device: &Device,
texture: &TextureView,
sampler_descriptor: SamplerDescriptor<'_>,
id: TextureId
)
pub fn update_egui_texture_from_wgpu_texture_with_sampler_options(
&mut self,
device: &Device,
texture: &TextureView,
sampler_descriptor: SamplerDescriptor<'_>,
id: TextureId
)
Registers a wgpu::Texture
with an existing egui::TextureId
while also accepting custom
wgpu::SamplerDescriptor
options.
This allows applications to reuse TextureId
s created with custom sampler options.
sourcepub fn update_buffers(
&mut self,
device: &Device,
queue: &Queue,
encoder: &mut CommandEncoder,
paint_jobs: &[ClippedPrimitive],
screen_descriptor: &ScreenDescriptor
) -> Vec<CommandBuffer>
pub fn update_buffers(
&mut self,
device: &Device,
queue: &Queue,
encoder: &mut CommandEncoder,
paint_jobs: &[ClippedPrimitive],
screen_descriptor: &ScreenDescriptor
) -> Vec<CommandBuffer>
Uploads the uniform, vertex and index data used by the renderer.
Should be called before render()
.
Returns all user-defined command buffers gathered from prepare callbacks.