pub struct Renderer {
pub callback_resources: CallbackResources,
/* private fields */
}Expand description
Renderer for a egui based GUI.
Fields§
§callback_resources: CallbackResourcesStorage 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 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 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 epaint::TextureId.
This enables applications to reuse TextureIds.
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 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 epaint::TextureId while also accepting custom
wgpu::SamplerDescriptor options.
This allows applications to reuse TextureIds 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 CallbackTrait::prepare & CallbackTrait::finish_prepare callbacks.
Auto Trait Implementations§
impl !Freeze for Renderer
impl !RefUnwindSafe for Renderer
impl Send for Renderer
impl Sync for Renderer
impl Unpin for Renderer
impl !UnwindSafe for Renderer
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.