pub struct Texture { /* private fields */ }
Expand description

A GPU-accessible texture.

May be converted from and dereferences to a wgpu Texture. Can be created via RenderDevice::create_texture.

Implementations§

source§

impl Texture

source

pub fn id(&self) -> TextureId

Returns the TextureId.

source

pub fn create_view(&self, desc: &TextureViewDescriptor<'_>) -> TextureView

Creates a view of this texture.

Methods from Deref<Target = Texture>§

source

pub unsafe fn as_hal<A, F>(&self, hal_texture_callback: F)
where A: HalApi, F: FnOnce(Option<&<A as Api>::Texture>),

Returns the inner hal Texture using a callback. The hal texture will be None if the backend type argument does not match with this wgpu Texture

§Safety
  • The raw handle obtained from the hal Texture must not be manually destroyed
source

pub fn create_view(&self, desc: &TextureViewDescriptor<'_>) -> TextureView

Creates a view of this texture.

source

pub fn destroy(&self)

Destroy the associated native resources as soon as possible.

source

pub fn as_image_copy(&self) -> ImageCopyTexture<&Texture>

Make an ImageCopyTexture representing the whole texture.

source

pub fn size(&self) -> Extent3d

Returns the size of this Texture.

This is always equal to the size that was specified when creating the texture.

source

pub fn width(&self) -> u32

Returns the width of this Texture.

This is always equal to the size.width that was specified when creating the texture.

source

pub fn height(&self) -> u32

Returns the height of this Texture.

This is always equal to the size.height that was specified when creating the texture.

source

pub fn depth_or_array_layers(&self) -> u32

Returns the depth or layer count of this Texture.

This is always equal to the size.depth_or_array_layers that was specified when creating the texture.

source

pub fn mip_level_count(&self) -> u32

Returns the mip_level_count of this Texture.

This is always equal to the mip_level_count that was specified when creating the texture.

source

pub fn sample_count(&self) -> u32

Returns the sample_count of this Texture.

This is always equal to the sample_count that was specified when creating the texture.

source

pub fn dimension(&self) -> TextureDimension

Returns the dimension of this Texture.

This is always equal to the dimension that was specified when creating the texture.

source

pub fn format(&self) -> TextureFormat

Returns the format of this Texture.

This is always equal to the format that was specified when creating the texture.

source

pub fn usage(&self) -> TextureUsages

Returns the allowed usages of this Texture.

This is always equal to the usage that was specified when creating the texture.

source

pub fn global_id(&self) -> Id<Texture>

Returns a globally-unique identifier for this Texture.

Calling this method multiple times on the same object will always return the same value. The returned value is guaranteed to be different for all resources created from the same Instance.

Trait Implementations§

source§

impl Clone for Texture

source§

fn clone(&self) -> Texture

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Texture

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for Texture

§

type Target = Texture

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl From<Texture> for Texture

source§

fn from(value: Texture) -> Self

Converts to this type from the input type.

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, U> AsBindGroupShaderType<U> for T
where U: ShaderType, &'a T: for<'a> Into<U>,

source§

fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U

Return the T ShaderType for self. When used in AsBindGroup derives, it is safe to assume that all images in self exist.
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> Downcast<T> for T

source§

fn downcast(&self) -> &T

source§

impl<T> Downcast for T
where T: Any,

source§

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>

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)

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)

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
where T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

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>,

§

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> TypeData for T
where T: 'static + Send + Sync + Clone,

source§

impl<T> Upcast<T> for T

source§

fn upcast(&self) -> Option<&T>

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> Settings for T
where T: 'static + Send + Sync,

source§

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

source§

impl<T> WasmNotSendSync for T

source§

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