pub struct GpuTexture { /* private fields */ }Expand description
A GPU texture with cached view and metadata.
This wrapper provides:
- Automatic view creation and caching
- Size and format metadata
- Convenient accessors
Implementations§
Source§impl GpuTexture
impl GpuTexture
Sourcepub fn new(device: &Device, descriptor: &TextureDescriptor<'_>) -> Self
pub fn new(device: &Device, descriptor: &TextureDescriptor<'_>) -> Self
Create a new GPU texture.
Sourcepub fn new_2d(
device: &Device,
label: Option<&str>,
width: u32,
height: u32,
format: TextureFormat,
usage: TextureUsages,
) -> Self
pub fn new_2d( device: &Device, label: Option<&str>, width: u32, height: u32, format: TextureFormat, usage: TextureUsages, ) -> Self
Create a simple 2D texture.
Sourcepub fn from_data(
device: &Device,
queue: &Queue,
label: Option<&str>,
width: u32,
height: u32,
format: TextureFormat,
data: &[u8],
) -> Self
pub fn from_data( device: &Device, queue: &Queue, label: Option<&str>, width: u32, height: u32, format: TextureFormat, data: &[u8], ) -> Self
Create a texture from raw data.
Sourcepub fn view(&self) -> &TextureView
pub fn view(&self) -> &TextureView
Get the texture view.
Sourcepub fn format(&self) -> TextureFormat
pub fn format(&self) -> TextureFormat
Get the texture format.
Sourcepub fn sample_count(&self) -> u32
pub fn sample_count(&self) -> u32
Get the sample count.
Sourcepub fn as_binding(&self) -> BindingResource<'_>
pub fn as_binding(&self) -> BindingResource<'_>
Get the texture as a binding resource.
Sourcepub fn create_view(&self, descriptor: &TextureViewDescriptor<'_>) -> TextureView
pub fn create_view(&self, descriptor: &TextureViewDescriptor<'_>) -> TextureView
Create a custom view with different parameters.
Trait Implementations§
Source§impl AsWgpu for GpuTexture
impl AsWgpu for GpuTexture
Auto Trait Implementations§
impl Freeze for GpuTexture
impl !RefUnwindSafe for GpuTexture
impl Send for GpuTexture
impl Sync for GpuTexture
impl Unpin for GpuTexture
impl !UnwindSafe for GpuTexture
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