pub struct GpuRenderer {
pub font_sys: FontSystem,
pub buffer_object: StaticVertexBuffer,
pub backend: Backend,
/* private fields */
}Expand description
Handles the GpuWindow, GpuDevice and BufferStore’s.
Also handles other information important to Rendering to the GPU.
Fields§
§font_sys: FontSystem§buffer_object: StaticVertexBuffer§backend: BackendImplementations§
Source§impl GpuRenderer
impl GpuRenderer
Sourcepub fn adapter(&self) -> &Adapter
pub fn adapter(&self) -> &Adapter
Returns a reference to wgpu::Adapter.
Sourcepub fn resize(&mut self, size: PhysicalSize<u32>) -> Result<(), GraphicsError>
pub fn resize(&mut self, size: PhysicalSize<u32>) -> Result<(), GraphicsError>
Resizes the Window.
Sourcepub fn frame_buffer(&self) -> &Option<TextureView>
pub fn frame_buffer(&self) -> &Option<TextureView>
Returns a reference to the Optional wgpu::TextureView: frame buffer.
Sourcepub fn depth_buffer(&self) -> &TextureView
pub fn depth_buffer(&self) -> &TextureView
Returns a reference to wgpu::TextureView.
Sourcepub fn size(&self) -> PhysicalSize<f32>
pub fn size(&self) -> PhysicalSize<f32>
Returns the windows PhysicalSize.
Sourcepub fn inner_size(&self) -> PhysicalSize<u32>
pub fn inner_size(&self) -> PhysicalSize<u32>
Returns the windows inner PhysicalSize.
Sourcepub fn surface(&self) -> &Surface<'_>
pub fn surface(&self) -> &Surface<'_>
Returns a reference to wgpu::Surface.
Sourcepub fn surface_format(&self) -> TextureFormat
pub fn surface_format(&self) -> TextureFormat
Returns the surfaces wgpu::TextureFormat.
Sourcepub fn update(&mut self, event: &WindowEvent) -> Result<bool, GraphicsError>
pub fn update(&mut self, event: &WindowEvent) -> Result<bool, GraphicsError>
Called to update the Optional Framebuffer with a Buffer we use to render. Will return weither the frame buffer could have been processed or not. If not we should skip rendering till we can get a frame buffer.
Sourcepub fn update_depth_texture(&mut self)
pub fn update_depth_texture(&mut self)
Updates the Internally Stored Depth Buffer.
Sourcepub fn present(&mut self) -> Result<(), GraphicsError>
pub fn present(&mut self) -> Result<(), GraphicsError>
Presents the Current frame Buffer to the Window if Some(). If the frame buffer does not Exist will return a Error.
Sourcepub fn device(&self) -> &Device
pub fn device(&self) -> &Device
Returns a reference to wgpu::Device.
Sourcepub fn gpu_device(&self) -> &GpuDevice
pub fn gpu_device(&self) -> &GpuDevice
Returns a reference to GpuDevice.
Sourcepub fn queue(&self) -> &Queue
pub fn queue(&self) -> &Queue
Returns a reference to wgpu::Queue.
Sourcepub fn font_sys(&self) -> &FontSystem
pub fn font_sys(&self) -> &FontSystem
Returns a reference to FontSystem.
Sourcepub fn font_sys_mut(&mut self) -> &mut FontSystem
pub fn font_sys_mut(&mut self) -> &mut FontSystem
Returns a mutable reference to FontSystem.
Sourcepub fn new_buffer(&mut self, store_size: usize, index_size: usize) -> Index
pub fn new_buffer(&mut self, store_size: usize, index_size: usize) -> Index
Creates a New BufferStore with set sizes for Rendering Object Data Storage and
Returns its Index for Referencing it.
Sourcepub fn default_buffer(&mut self) -> Index
pub fn default_buffer(&mut self) -> Index
Creates a New BufferStore with default sizes for Rendering Object Data Storage and
Returns its Index for Referencing it.
Sourcepub fn remove_buffer(&mut self, index: Index)
pub fn remove_buffer(&mut self, index: Index)
Removes a BufferStore using its Index.
Sourcepub fn get_buffer(&self, index: Index) -> Option<&BufferStore>
pub fn get_buffer(&self, index: Index) -> Option<&BufferStore>
Gets a optional reference to BufferStore using its Index.
Sourcepub fn get_buffer_mut(&mut self, index: Index) -> Option<&mut BufferStore>
pub fn get_buffer_mut(&mut self, index: Index) -> Option<&mut BufferStore>
Gets a optional mutable reference to BufferStore using its Index.
Sourcepub fn create_layout<K: Layout>(&mut self, layout: K) -> Rc<BindGroupLayout>
pub fn create_layout<K: Layout>(&mut self, layout: K) -> Rc<BindGroupLayout>
Creates new BindGroupLayout from Generic K and Returns a Reference Counter to them.
Sourcepub fn get_layout<K: Layout>(&self, layout: K) -> Option<Rc<BindGroupLayout>>
pub fn get_layout<K: Layout>(&self, layout: K) -> Option<Rc<BindGroupLayout>>
Returns a Reference Counter to the layout Or None if it does not yet Exist.
Sourcepub fn create_pipelines(&mut self, surface_format: TextureFormat)
pub fn create_pipelines(&mut self, surface_format: TextureFormat)
Creates each supported rendering objects pipeline.
Sourcepub fn get_pipelines<K: PipeLineLayout>(
&self,
pipeline: K,
) -> Option<&RenderPipeline>
pub fn get_pipelines<K: PipeLineLayout>( &self, pipeline: K, ) -> Option<&RenderPipeline>
Gets a optional reference of wgpu::RenderPipeline
Auto Trait Implementations§
impl !Freeze for GpuRenderer
impl !RefUnwindSafe for GpuRenderer
impl !Send for GpuRenderer
impl !Sync for GpuRenderer
impl Unpin for GpuRenderer
impl !UnwindSafe for GpuRenderer
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.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>
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>
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