pub struct CompressedTexture2dMipmap<'t>(_, _);
Expand description
Represents a single mipmap level of a CompressedTexture2d
.
Can be obtained by calling CompressedTexture2d::mipmap()
, CompressedTexture2d::main_level()
,
CompressedTexture2dLayer::mipmap()
or CompressedTexture2dLayer::main_level()
.
Implementations§
source§impl<'t> CompressedTexture2dMipmap<'t>
impl<'t> CompressedTexture2dMipmap<'t>
sourcepub fn dimensions(&self) -> (u32, u32)
pub fn dimensions(&self) -> (u32, u32)
Returns the width and height of that image.
sourcepub fn write<'a, T>(&self, rect: Rect, data: T)where
T: Texture2dDataSource<'a>,
pub fn write<'a, T>(&self, rect: Rect, data: T)where T: Texture2dDataSource<'a>,
Uploads some data in the texture level.
Note that this may cause a synchronization if you use the texture right before or right after this call.
Panic
Panics if the the dimensions of data
don’t match the Rect
.
Calling this for compressed textures will result in a panic of type INVALID_OPERATION
if Rect::bottom
or Rect::width
is not equal to 0 (border). In addition, the contents
of any texel outside the region modified by such a call are undefined. These
restrictions may be relaxed for specific compressed internal formats whose images
are easily edited.
sourcepub fn write_compressed_data(
&self,
rect: Rect,
data: &[u8],
width: u32,
height: u32,
format: CompressedFormat
) -> Result<(), ()>
pub fn write_compressed_data( &self, rect: Rect, data: &[u8], width: u32, height: u32, format: CompressedFormat ) -> Result<(), ()>
Uploads some data in the texture level by using a compressed format as input.
Note that this may cause a synchronization if you use the texture right before or right after this call.
Panic
Panics if the the dimensions of data
don’t match the Rect
.
Calling this will result in a panic of type INVALID_OPERATION error if Rect::width
or Rect::height
is not equal to 0 (border), or if the written dimensions do not match
the original texture dimensions. The contents of any texel outside the region modified
by the call are undefined. These restrictions may be relaxed for specific compressed
internal formats whose images are easily edited.
sourcepub fn read_compressed_data(&self) -> Option<(CompressedFormat, Vec<u8>)>
pub fn read_compressed_data(&self) -> Option<(CompressedFormat, Vec<u8>)>
Reads the content of the texture level to RAM without decompressing it before.
You should avoid doing this at all cost during performance-critical operations (for example, while you’re drawing).
Returns the compressed format of the texture and the compressed data, gives
None
when the internal compression format is generic or unknown.
sourcepub fn get_texture(&self) -> &'t CompressedTexture2d
pub fn get_texture(&self) -> &'t CompressedTexture2d
Returns the corresponding texture.
Methods from Deref<Target = TextureAnyMipmap<'a>>§
sourcepub fn get_height(&self) -> Option<u32>
pub fn get_height(&self) -> Option<u32>
Returns the height of the mipmap.
sourcepub fn get_samples(&self) -> Option<u32>
pub fn get_samples(&self) -> Option<u32>
Returns the number of samples of the texture.
sourcepub fn get_texture(&self) -> &'a TextureAny
pub fn get_texture(&self) -> &'a TextureAny
Returns the texture.
sourcepub fn first_layer(&self) -> TextureAnyLayerMipmap<'a>
pub fn first_layer(&self) -> TextureAnyLayerMipmap<'a>
Returns a structure that represents the first layer of this mipmap of the texture. All textures have a first layer.
sourcepub fn layer(&self, layer: u32) -> Option<TextureAnyLayerMipmap<'a>>
pub fn layer(&self, layer: u32) -> Option<TextureAnyLayerMipmap<'a>>
Returns a structure that represents a specific layer of this mipmap of the texture.
Non-array textures have only one layer. The number of layers can be queried with
get_array_size
.
Returns None
if out of range.
sourcepub fn get_array_size(&self) -> Option<u32>
pub fn get_array_size(&self) -> Option<u32>
Returns the array size of the texture.
sourcepub fn raw_upload_from_pixel_buffer<P>(
&self,
source: BufferSlice<'_, [P]>,
x: Range<u32>,
y: Range<u32>,
z: Range<u32>
)where
P: PixelValue,
pub fn raw_upload_from_pixel_buffer<P>( &self, source: BufferSlice<'_, [P]>, x: Range<u32>, y: Range<u32>, z: Range<u32> )where P: PixelValue,
Uploads data to the texture from a buffer.
Panic
Panics if the offsets and dimensions are outside the boundaries of the texture. Panics if the buffer is not big enough to hold the data.
sourcepub fn raw_upload_from_pixel_buffer_inverted<P>(
&self,
source: BufferSlice<'_, [P]>,
x: Range<u32>,
y: Range<u32>,
z: Range<u32>
)where
P: PixelValue,
pub fn raw_upload_from_pixel_buffer_inverted<P>( &self, source: BufferSlice<'_, [P]>, x: Range<u32>, y: Range<u32>, z: Range<u32> )where P: PixelValue,
Uploads data to the texture from a buffer. The R, G and B components are flipped.
Panic
Panics if the offsets and dimensions are outside the boundaries of the texture. Panics if the buffer is not big enough to hold the data.
Trait Implementations§
source§impl<'t> Clone for CompressedTexture2dMipmap<'t>
impl<'t> Clone for CompressedTexture2dMipmap<'t>
source§fn clone(&self) -> CompressedTexture2dMipmap<'t>
fn clone(&self) -> CompressedTexture2dMipmap<'t>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<'a> Deref for CompressedTexture2dMipmap<'a>
impl<'a> Deref for CompressedTexture2dMipmap<'a>
§type Target = TextureAnyMipmap<'a>
type Target = TextureAnyMipmap<'a>
source§fn deref(&self) -> &TextureAnyMipmap<'a>
fn deref(&self) -> &TextureAnyMipmap<'a>
source§impl<'t> Into<TextureAnyImage<'t>> for CompressedTexture2dMipmap<'t>
impl<'t> Into<TextureAnyImage<'t>> for CompressedTexture2dMipmap<'t>
source§fn into(self) -> TextureAnyImage<'t>
fn into(self) -> TextureAnyImage<'t>
impl<'t> Copy for CompressedTexture2dMipmap<'t>
Auto Trait Implementations§
impl<'t> !RefUnwindSafe for CompressedTexture2dMipmap<'t>
impl<'t> !Send for CompressedTexture2dMipmap<'t>
impl<'t> !Sync for CompressedTexture2dMipmap<'t>
impl<'t> Unpin for CompressedTexture2dMipmap<'t>
impl<'t> !UnwindSafe for CompressedTexture2dMipmap<'t>
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> Content for Twhere
T: Copy,
impl<T> Content for Twhere T: Copy,
source§unsafe fn read<F, E>(size: usize, f: F) -> Result<T, E>where
F: FnOnce(&mut T) -> Result<(), E>,
unsafe fn read<F, E>(size: usize, f: F) -> Result<T, E>where F: FnOnce(&mut T) -> Result<(), E>,
Owned
.
User-provided closure F
must only write to and not read from &mut Self
.