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.

Trait Implementations

impl GlObject for CompressedTexture3d

type Id = GLuint

fn get_id(&self) -> GLuint

impl Debug for CompressedTexture3d

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

impl Deref for CompressedTexture3d

type Target = TextureAny

fn deref<'a>(&'a self) -> &'a TextureAny

impl<'a> AsUniformValue for &'a CompressedTexture3d

fn as_uniform_value(&self) -> UniformValue