pub struct Renderer<'a> {
pub surface: RwLock<Surface<'a>>,
pub device: Device,
pub queue: Queue,
pub config: RwLock<SurfaceConfiguration>,
pub size: RwLock<(u32, u32)>,
}
Expand description
this struct contrais all the components to render
Fields§
§surface: RwLock<Surface<'a>>
§device: Device
§queue: Queue
§config: RwLock<SurfaceConfiguration>
§size: RwLock<(u32, u32)>
Implementations§
Source§impl<'a> Renderer<'a>
impl<'a> Renderer<'a>
Sourcepub fn create_encoder(
&self,
) -> Result<(CommandEncoder, TextureView, SurfaceTexture), SurfaceError>
pub fn create_encoder( &self, ) -> Result<(CommandEncoder, TextureView, SurfaceTexture), SurfaceError>
create a new render_pass encoder
Sourcepub fn surface(&self) -> RwLockReadGuard<'_, Surface<'_>>
pub fn surface(&self) -> RwLockReadGuard<'_, Surface<'_>>
gets the surface
Sourcepub fn config(&self) -> RwLockReadGuard<'_, SurfaceConfiguration>
pub fn config(&self) -> RwLockReadGuard<'_, SurfaceConfiguration>
gets the config
pub fn resize(&self, new_size: &(u32, u32))
Sourcepub fn init_buffer<A>(
&self,
label: &str,
usage: BufferUsages,
content: &[A],
) -> Bufferwhere
A: NoUninit,
pub fn init_buffer<A>(
&self,
label: &str,
usage: BufferUsages,
content: &[A],
) -> Bufferwhere
A: NoUninit,
init a new buffer with a data
pub fn create_buffer( &self, label: &str, usage: BufferUsages, size: u64, ) -> Buffer
Sourcepub fn bind_group(
&self,
label: &str,
entries: &[BindGroupEntryBuilder<'_>],
) -> (BindGroup, BindGroupLayout)
pub fn bind_group( &self, label: &str, entries: &[BindGroupEntryBuilder<'_>], ) -> (BindGroup, BindGroupLayout)
create a new bind group
Sourcepub fn init_texture(
&self,
label: &'static str,
view_formats: Option<&'static [TextureFormat]>,
builder: TextureBuilder,
) -> Texture
pub fn init_texture( &self, label: &'static str, view_formats: Option<&'static [TextureFormat]>, builder: TextureBuilder, ) -> Texture
init a new texture
Sourcepub fn simple_png_texture_file(
&self,
file: &mut File,
) -> Result<Texture, TextureError>
pub fn simple_png_texture_file( &self, file: &mut File, ) -> Result<Texture, TextureError>
simple load a png texture from file
Sourcepub fn simple_png_texture_bytes(
&self,
bytes: &[u8],
) -> Result<Texture, TextureError>
pub fn simple_png_texture_bytes( &self, bytes: &[u8], ) -> Result<Texture, TextureError>
simple load a png texture from bytes
Sourcepub fn init_buffer_from_vertices<A: Vertex>(
&self,
label: &str,
vertices: &[A],
) -> Buffer
pub fn init_buffer_from_vertices<A: Vertex>( &self, label: &str, vertices: &[A], ) -> Buffer
Load vertices to buffer
Sourcepub fn init_buffer_from_indices<A: NoUninit>(
&self,
label: &str,
indices: &[A],
) -> Buffer
pub fn init_buffer_from_indices<A: NoUninit>( &self, label: &str, indices: &[A], ) -> Buffer
Load indices to buffer
Sourcepub fn init_buffers_from_model<A: Vertex, B: NoUninit>(
&self,
label: &str,
vertices: &[A],
indices: &[B],
) -> (Buffer, Buffer)
pub fn init_buffers_from_model<A: Vertex, B: NoUninit>( &self, label: &str, vertices: &[A], indices: &[B], ) -> (Buffer, Buffer)
Load a index buffer and vertex buffer Return: (vertex buffer, index buffer)
pub fn update_buffer<A: NoUninit>(&self, buffer: &Buffer, data: &[A])
pub fn update_buffer_entry<A: NoUninit>( &self, buffer: &Buffer, id: u64, data: A, )
Auto Trait Implementations§
impl<'a> !Freeze for Renderer<'a>
impl<'a> !RefUnwindSafe for Renderer<'a>
impl<'a> Send for Renderer<'a>
impl<'a> Sync for Renderer<'a>
impl<'a> Unpin for Renderer<'a>
impl<'a> !UnwindSafe for Renderer<'a>
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
Mutably borrows from an owned value. Read more
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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more