Struct glium::texture::compressed_srgb_texture2d::CompressedSrgbTexture2dMipmap
[−]
[src]
pub struct CompressedSrgbTexture2dMipmap<'t>(_, _);
Represents a single mipmap level of a CompressedSrgbTexture2d
.
Can be obtained by calling CompressedSrgbTexture2d::mipmap()
, CompressedSrgbTexture2d::main_level()
,
CompressedSrgbTexture2dLayer::mipmap()
or CompressedSrgbTexture2dLayer::main_level()
.
Methods
impl<'t> CompressedSrgbTexture2dMipmap<'t>
[src]
fn width(&self) -> u32
Returns the width of that image.
fn height(&self) -> u32
Returns the height of that image.
fn dimensions(&self) -> (u32, u32)
Returns the width and height of that image.
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.
fn write_compressed_data(&self, rect: Rect, data: &[u8], width: u32, height: u32, format: CompressedSrgbFormat) -> 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.
fn read_compressed_data(&self) -> Option<(CompressedSrgbFormat, 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.
fn get_texture(&self) -> &'t CompressedSrgbTexture2d
Returns the corresponding texture.
fn get_level(&self) -> u32
Returns the texture level.
Methods from Deref<Target=TextureAnyMipmap<'a>>
fn get_width(&self) -> u32
Returns the width of the mipmap.
fn get_height(&self) -> Option<u32>
Returns the height of the mipmap.
fn get_depth(&self) -> Option<u32>
Returns the depth of the mipmap.
fn get_samples(&self) -> Option<u32>
Returns the number of samples of the texture.
fn get_texture(&self) -> &'a TextureAny
Returns the texture.
fn get_level(&self) -> u32
Returns the level of the texture.
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.
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.
fn get_array_size(&self) -> Option<u32>
Returns the array size of the texture.
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.
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
impl<'t> Clone for CompressedSrgbTexture2dMipmap<'t>
[src]
fn clone(&self) -> CompressedSrgbTexture2dMipmap<'t>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl<'t> Copy for CompressedSrgbTexture2dMipmap<'t>
[src]
impl<'a> Deref for CompressedSrgbTexture2dMipmap<'a>
[src]
type Target = TextureAnyMipmap<'a>
The resulting type after dereferencing
fn deref(&self) -> &TextureAnyMipmap<'a>
The method called to dereference a value
impl<'t> Into<TextureAnyImage<'t>> for CompressedSrgbTexture2dMipmap<'t>
[src]
fn into(self) -> TextureAnyImage<'t>
Performs the conversion.