pub struct Renderer {
pub callback_resources: CallbackResources,
/* private fields */
}
Expand description
Renderer for a egui based GUI.
Fields§
§callback_resources: CallbackResources
Storage for resources shared with all invocations of CallbackTrait
’s methods.
See also CallbackTrait
.
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: &'rp [ClippedPrimitive],
screen_descriptor: &ScreenDescriptor,
)
pub fn render<'rp>( &'rp self, render_pass: &mut RenderPass<'rp>, paint_jobs: &'rp [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 Self::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
epaint::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 epaint::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 wgpu::TextureFormat::Rgba8UnormSrgb
.
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 epaint::TextureId
.
This enables applications to reuse epaint::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 epaint::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 wgpu::TextureFormat::Rgba8UnormSrgb
.
Any compare function supplied in the wgpu::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 epaint::TextureId
while also accepting custom
wgpu::SamplerDescriptor
options.
This allows applications to reuse epaint::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 Self::render
.
Returns all user-defined command buffers gathered from CallbackTrait::prepare
& CallbackTrait::finish_prepare
callbacks.