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.
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.