pub struct TextureArray { /* private fields */ }Expand description
A 2D array texture asset — same construction pattern as Texture,
but each layer’s pixels come from a separate file/buffer. All layers must
share the same dimensions.
Implementations§
Source§impl TextureArray
impl TextureArray
pub fn from_files(files: Vec<&'static str>) -> Self
pub fn from_data( width: u32, height: u32, format: TextureFormat, layers: Vec<Vec<u8>>, ) -> Self
Sourcepub fn empty(
width: u32,
height: u32,
format: TextureFormat,
layer_count: u32,
) -> Self
pub fn empty( width: u32, height: u32, format: TextureFormat, layer_count: u32, ) -> Self
No source data — a render target, or something you’ll write_layer yourself.
pub fn with_format(self, format: TextureFormat) -> Self
pub fn with_mips(self) -> Self
pub fn with_mip_count(self, count: u32) -> Self
pub fn build_asset( self, name: &str, assets: &mut Assets<TextureArray>, ) -> Handle<TextureArray>
Sourcepub fn data(&self) -> Option<&[Vec<u8>]>
pub fn data(&self) -> Option<&[Vec<u8>]>
CPU-side layers — only ever Some for a from_data() array. See
Texture::data.
Sourcepub fn release_cpu_data(&mut self)
pub fn release_cpu_data(&mut self)
Frees the CPU-side copy. See
Texture::release_cpu_data.
Trait Implementations§
Source§impl Asset<Backend> for TextureArray
impl Asset<Backend> for TextureArray
type Deps<'a> = Read<'a, MipmapGenerator>
fn upload<'a>( &self, backend: &Backend, mipmap_generator: &Read<'a, MipmapGenerator>, ) -> Option<GPUTextureArray>
Source§impl AssetSource for TextureArray
impl AssetSource for TextureArray
type Processed = GPUTextureArray
Auto Trait Implementations§
impl Freeze for TextureArray
impl RefUnwindSafe for TextureArray
impl Send for TextureArray
impl Sync for TextureArray
impl Unpin for TextureArray
impl UnsafeUnpin for TextureArray
impl UnwindSafe for TextureArray
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> Component for 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>
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, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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