Struct glium::texture::compressed_texture3d::CompressedTexture3d
[−]
[src]
pub struct CompressedTexture3d(_);
A compressed three-dimensional texture containing floating-point data.
Methods
impl CompressedTexture3d
fn sampled(&self) -> Sampler<CompressedTexture3d>
Builds a Sampler
marker object that allows you to indicate
how the texture should be sampled from inside a shader.
Example
let uniforms = uniform! { color_texture: texture.sampled().magnify_filter(glium::uniforms::MagnifySamplerFilter::Nearest) };
impl CompressedTexture3d
fn get_internal_format(&self) -> Result<InternalFormat, GetFormatError>
Determines the internal format of this texture.
The backend may not support querying the actual format, in which case an error is returned.
fn new<'a, F, T>(facade: &F, data: T) -> Result<CompressedTexture3d, TextureCreationError> where T: Texture3dDataSource<'a>, F: Facade
Builds a new texture by uploading data.
No mipmap level (except for the main level) will be allocator nor generated.
fn with_mipmaps<'a, F, T>(facade: &F, data: T, mipmaps: CompressedMipmapsOption) -> Result<CompressedTexture3d, TextureCreationError> where T: Texture3dDataSource<'a>, F: Facade
Builds a new texture by uploading data.
fn with_compressed_data<F>(facade: &F, data: &[u8], width: u32, height: u32, depth: u32, format: CompressedFormat, mipmaps: CompressedMipmapsOption) -> Result<CompressedTexture3d, TextureCreationError> where F: Facade
Builds a new texture with a specific format. The input data must also be of the specified compressed format.
fn with_format<'a, F, T>(facade: &F, data: T, format: CompressedFormat, mipmaps: CompressedMipmapsOption) -> Result<CompressedTexture3d, TextureCreationError> where T: Texture3dDataSource<'a>, F: Facade
Builds a new texture with a specific format.
fn empty_with_format<F>(facade: &F, format: CompressedFormat, mipmaps: CompressedMipmapsOption, width: u32, height: u32, depth: u32) -> Result<CompressedTexture3d, TextureCreationError> where F: Facade
Creates an empty texture with a specific format.
The texture (and its mipmaps) will contain undefined data.
fn get_mipmap_levels(&self) -> u32
Returns the number of mipmap levels of the texture.
The minimum value is 1, since there is always a main texture.
fn read_compressed_data(&self) -> Option<(CompressedFormat, Vec<u8>)>
Reads the content of the texture 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 resident(self) -> Result<ResidentTexture, BindlessTexturesNotSupportedError>
Turns the texture into a ResidentTexture
.
This allows you to use the texture in a much more efficient way by storing a "reference to it" in a buffer (actually not a reference but a raw pointer).
See the documentation of ResidentTexture
for more infos.
fn first_layer(&self) -> CompressedTexture3dLayer
Access the first layer of this texture.
fn layer(&self, layer: u32) -> Option<CompressedTexture3dLayer>
Access a single layer of this texture.
fn mipmap(&self, level: u32) -> Option<CompressedTexture3dMipmap>
Access a single mipmap level of this texture.
fn main_level(&self) -> CompressedTexture3dMipmap
Access the main mipmap level of this texture.
Methods from Deref<Target=TextureAny>
fn get_width(&self) -> u32
Returns the width of the texture.
fn get_height(&self) -> Option<u32>
Returns the height of the texture.
fn get_depth(&self) -> Option<u32>
Returns the depth of the texture.
fn get_array_size(&self) -> Option<u32>
Returns the array size of the texture.
fn get_samples(&self) -> Option<u32>
Returns the number of samples of the texture if it is a multisampling texture.
fn first_layer(&self) -> TextureAnyLayer
Returns a structure that represents the first layer of the texture. All textures have a first layer.
fn layer(&self, layer: u32) -> Option<TextureAnyLayer>
Returns a structure that represents a specific layer 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_texture_type(&self) -> Dimensions
Returns the type of the texture (1D, 2D, 3D, etc.).
fn get_internal_format(&self) -> Result<InternalFormat, GetFormatError>
Determines the internal format of this texture.
fn get_mipmap_levels(&self) -> u32
Returns the number of mipmap levels of the texture.
fn main_level(&self) -> TextureAnyMipmap
Returns a structure that represents the main mipmap level of the texture.
fn mipmap(&self, level: u32) -> Option<TextureAnyMipmap>
Returns a structure that represents a specific mipmap of the texture.
Returns None
if out of range.