Struct Renderer

Source
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

Source

pub fn new( device: &Device, output_color_format: TextureFormat, output_depth_format: Option<TextureFormat>, msaa_samples: u32, dithering: bool, ) -> 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.

Source

pub fn render( &self, render_pass: &mut RenderPass<'static>, paint_jobs: &[ClippedPrimitive], screen_descriptor: &ScreenDescriptor, )

Executes the egui renderer onto an existing wgpu renderpass.

Note that the lifetime of render_pass is 'static which requires a call to wgpu::RenderPass::forget_lifetime. This allows users to pass resources that live outside of the callback resources to the render pass. The render pass internally keeps all referenced resources alive as long as necessary. The only consequence of forget_lifetime is that any operation on the parent encoder will cause a runtime error instead of a compile time error.

Source

pub fn update_texture( &mut self, device: &Device, queue: &Queue, id: TextureId, image_delta: &ImageDelta, )

Should be called before Self::render.

Source

pub fn free_texture(&mut self, id: &TextureId)

Source

pub fn texture(&self, id: &TextureId) -> Option<&Texture>

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.

Source

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.

Source

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

Source

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.

Source

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::TextureIds created with custom sampler options.

Source

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§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,