pub struct Texture {
pub texture: Texture,
pub view: TextureView,
pub sampler: Sampler,
pub bind_group: BindGroup,
}Expand description
A representation of a WGPU texture, along with its bind group, view, and sampler for shaders.
Fields§
§texture: Texture§view: TextureView§sampler: Sampler§bind_group: BindGroupImplementations§
Source§impl Texture
impl Texture
Sourcepub const BIND_LAYOUT: BindGroupLayoutDescriptor<'static>
pub const BIND_LAYOUT: BindGroupLayoutDescriptor<'static>
The bind group layout for the texture so there is consistency across implementations that use this texture.
Sourcepub fn from_bytes(
device: &Device,
queue: &Queue,
bytes: &[u8],
label: &str,
) -> Result<Self>
pub fn from_bytes( device: &Device, queue: &Queue, bytes: &[u8], label: &str, ) -> Result<Self>
Create a new texture from the given bytes.
Arguments:
- device: &wgpu::Device - A wgpu device used to create the texture.
- queue: &wgpu::Queue - A wgpu queue that will be used to load the texture to the GPU.
- bytes: &u8 - The bytes of the image.
- label: &str - A label for the texture.
Returns a result that will contain the texture if it was loaded properly, otherwise, an error will be thrown.
pub fn from_image( device: &Device, queue: &Queue, img: &DynamicImage, label: Option<&str>, ) -> Result<Self>
pub fn from_raw( device: &Device, queue: &Queue, rgba: &[u8], dimensions: (u32, u32), label: Option<&str>, ) -> Result<Self>
Sourcepub fn bind<'rpass>(&'rpass self, pass: &mut RenderPass<'rpass>, index: u32)
pub fn bind<'rpass>(&'rpass self, pass: &mut RenderPass<'rpass>, index: u32)
Binds a texture to the the given render pass at the given bind group index.
Arguments:
- &self - The texture to bind.
- pass: &mut wgpu::RenderPass - The render pass to bind too.
- index: u32 - The bind group index to bind too.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Texture
impl !RefUnwindSafe for Texture
impl Send for Texture
impl Sync for Texture
impl Unpin for Texture
impl !UnwindSafe for Texture
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.