Struct nannou::ui::backend::glium::glium::texture::compressed_texture2d::CompressedTexture2d [−][src]
pub struct CompressedTexture2d(_);
A compressed two-dimensional texture containing floating-point data.
Methods
impl CompressedTexture2d
[src]
impl CompressedTexture2d
pub fn sampled(&self) -> Sampler<CompressedTexture2d>
[src]
pub fn sampled(&self) -> Sampler<CompressedTexture2d>
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 CompressedTexture2d
[src]
impl CompressedTexture2d
pub fn get_internal_format(&self) -> Result<InternalFormat, GetFormatError>
[src]
pub 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.
pub fn new<'a, F, T>(
facade: &F,
data: T
) -> Result<CompressedTexture2d, TextureCreationError> where
F: Facade + ?Sized,
T: Texture2dDataSource<'a>,
[src]
pub fn new<'a, F, T>(
facade: &F,
data: T
) -> Result<CompressedTexture2d, TextureCreationError> where
F: Facade + ?Sized,
T: Texture2dDataSource<'a>,
Builds a new texture by uploading data.
No mipmap level (except for the main level) will be allocator nor generated.
pub fn with_mipmaps<'a, F, T>(
facade: &F,
data: T,
mipmaps: CompressedMipmapsOption
) -> Result<CompressedTexture2d, TextureCreationError> where
F: Facade + ?Sized,
T: Texture2dDataSource<'a>,
[src]
pub fn with_mipmaps<'a, F, T>(
facade: &F,
data: T,
mipmaps: CompressedMipmapsOption
) -> Result<CompressedTexture2d, TextureCreationError> where
F: Facade + ?Sized,
T: Texture2dDataSource<'a>,
Builds a new texture by uploading data.
pub fn with_compressed_data<F>(
facade: &F,
data: &[u8],
width: u32,
height: u32,
format: CompressedFormat,
mipmaps: CompressedMipmapsOption
) -> Result<CompressedTexture2d, TextureCreationError> where
F: Facade + ?Sized,
[src]
pub fn with_compressed_data<F>(
facade: &F,
data: &[u8],
width: u32,
height: u32,
format: CompressedFormat,
mipmaps: CompressedMipmapsOption
) -> Result<CompressedTexture2d, TextureCreationError> where
F: Facade + ?Sized,
Builds a new texture with a specific format. The input data must also be of the specified compressed format.
pub fn with_format<'a, F, T>(
facade: &F,
data: T,
format: CompressedFormat,
mipmaps: CompressedMipmapsOption
) -> Result<CompressedTexture2d, TextureCreationError> where
F: Facade + ?Sized,
T: Texture2dDataSource<'a>,
[src]
pub fn with_format<'a, F, T>(
facade: &F,
data: T,
format: CompressedFormat,
mipmaps: CompressedMipmapsOption
) -> Result<CompressedTexture2d, TextureCreationError> where
F: Facade + ?Sized,
T: Texture2dDataSource<'a>,
Builds a new texture with a specific format.
pub fn empty_with_format<F>(
facade: &F,
format: CompressedFormat,
mipmaps: CompressedMipmapsOption,
width: u32,
height: u32
) -> Result<CompressedTexture2d, TextureCreationError> where
F: Facade + ?Sized,
[src]
pub fn empty_with_format<F>(
facade: &F,
format: CompressedFormat,
mipmaps: CompressedMipmapsOption,
width: u32,
height: u32
) -> Result<CompressedTexture2d, TextureCreationError> where
F: Facade + ?Sized,
Creates an empty texture with a specific format.
The texture (and its mipmaps) will contain undefined data.
pub unsafe fn from_id<F>(
facade: &F,
format: CompressedFormat,
id: u32,
owned: bool,
mipmap: MipmapsOption,
ty: Dimensions
) -> CompressedTexture2d where
F: Facade + ?Sized,
[src]
pub unsafe fn from_id<F>(
facade: &F,
format: CompressedFormat,
id: u32,
owned: bool,
mipmap: MipmapsOption,
ty: Dimensions
) -> CompressedTexture2d where
F: Facade + ?Sized,
Builds a new texture reference from an existing, externally created OpenGL texture.
If owned
is true, this reference will take ownership of the texture and be responsible
for cleaning it up. Otherwise, the texture must be cleaned up externally, but only
after this reference's lifetime has ended.
pub fn width(&self) -> u32
[src]
pub fn width(&self) -> u32
Returns the width of that image.
pub fn height(&self) -> u32
[src]
pub fn height(&self) -> u32
Returns the height of that image.
pub fn dimensions(&self) -> (u32, u32)
[src]
pub fn dimensions(&self) -> (u32, u32)
Returns the width and height of that image.
pub fn get_mipmap_levels(&self) -> u32
[src]
pub 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.
pub fn read<T>(&self) -> T where
T: Texture2dDataSink<(u8, u8, u8, u8)>,
[src]
pub fn read<T>(&self) -> T where
T: Texture2dDataSink<(u8, u8, u8, u8)>,
Reads the content of the texture to RAM. This method may only read U8U8U8U8
data, as it is the only format guaranteed to be supported across all OpenGL
versions.
You should avoid doing this at all cost during performance-critical
operations (for example, while you're drawing).
Use read_to_pixel_buffer
instead.
pub fn read_to_pixel_buffer(&self) -> PixelBuffer<(u8, u8, u8, u8)>
[src]
pub fn read_to_pixel_buffer(&self) -> PixelBuffer<(u8, u8, u8, u8)>
Reads the content of the texture into a buffer in video memory. This method may
only read U8U8U8U8
data, as it is the only format guaranteed to be supported
across all OpenGL versions.
This operation copies the texture's data into a buffer in video memory
(a pixel buffer). Contrary to the read
function, this operation is
done asynchronously and doesn't need a synchronization.
pub unsafe fn unchecked_read<T, P>(&self) -> T where
P: PixelValue,
T: Texture2dDataSink<P>,
[src]
pub unsafe fn unchecked_read<T, P>(&self) -> T where
P: PixelValue,
T: Texture2dDataSink<P>,
Unsafely reads the content of the texture to RAM in the specified pixel format. It is possible that the current OpenGL context does not support the given format, in which case the returned data will be invalid.
You should avoid doing this at all cost during performance-critical
operations (for example, while you're drawing).
Use read_to_pixel_buffer
instead.
pub unsafe fn unchecked_read_to_pixel_buffer<P>(&self) -> PixelBuffer<P> where
P: PixelValue,
[src]
pub unsafe fn unchecked_read_to_pixel_buffer<P>(&self) -> PixelBuffer<P> where
P: PixelValue,
Unsafely reads the content of the texture into a buffer in video memory. It is possible that the current OpenGL context does not support the given format, in which case the returned data will be invalid.
This operation copies the texture's data into a buffer in video memory
(a pixel buffer). Contrary to the read
function, this operation is
done asynchronously and doesn't need a synchronization.
pub fn read_compressed_data(&self) -> Option<(CompressedFormat, Vec<u8>)>
[src]
pub 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.
pub fn write<'a, T>(&self, rect: Rect, data: T) where
T: Texture2dDataSource<'a>,
[src]
pub fn write<'a, T>(&self, rect: Rect, data: T) where
T: Texture2dDataSource<'a>,
Uploads some data in the texture.
Note that this may cause a synchronization if you use the texture right before or right after this call. Prefer creating a whole new texture if you change a huge part of it.
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.
pub fn write_compressed_data(
&self,
rect: Rect,
data: &[u8],
width: u32,
height: u32,
format: CompressedFormat
) -> Result<(), ()>
[src]
pub fn write_compressed_data(
&self,
rect: Rect,
data: &[u8],
width: u32,
height: u32,
format: CompressedFormat
) -> Result<(), ()>
Uploads some data in the texture 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. Prefer creating a whole new texture if you change a huge part of it.
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.
pub fn resident(
self
) -> Result<ResidentTexture, BindlessTexturesNotSupportedError>
[src]
pub 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.
pub fn mipmap(&self, level: u32) -> Option<CompressedTexture2dMipmap>
[src]
pub fn mipmap(&self, level: u32) -> Option<CompressedTexture2dMipmap>
Access a single mipmap level of this texture.
pub fn main_level(&self) -> CompressedTexture2dMipmap
[src]
pub fn main_level(&self) -> CompressedTexture2dMipmap
Access the main mipmap level of this texture.
Methods from Deref<Target = TextureAny>
pub fn get_width(&self) -> u32
[src]
pub fn get_width(&self) -> u32
Returns the width of the texture.
pub fn get_height(&self) -> Option<u32>
[src]
pub fn get_height(&self) -> Option<u32>
Returns the height of the texture.
pub fn get_depth(&self) -> Option<u32>
[src]
pub fn get_depth(&self) -> Option<u32>
Returns the depth of the texture.
pub fn kind(&self) -> TextureKind
[src]
pub fn kind(&self) -> TextureKind
Returns the kind of texture.
pub fn dimensions(&self) -> Dimensions
[src]
pub fn dimensions(&self) -> Dimensions
Returns the dimensions of the texture.
pub fn get_array_size(&self) -> Option<u32>
[src]
pub fn get_array_size(&self) -> Option<u32>
Returns the array size of the texture.
pub fn get_samples(&self) -> Option<u32>
[src]
pub fn get_samples(&self) -> Option<u32>
Returns the number of samples of the texture if it is a multisampling texture.
pub fn first_layer(&self) -> TextureAnyLayer
[src]
pub fn first_layer(&self) -> TextureAnyLayer
Returns a structure that represents the first layer of the texture. All textures have a first layer.
pub fn layer(&self, layer: u32) -> Option<TextureAnyLayer>
[src]
pub 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.
pub fn get_texture_type(&self) -> Dimensions
[src]
pub fn get_texture_type(&self) -> Dimensions
Returns the type of the texture (1D, 2D, 3D, etc.).
pub fn get_internal_format(&self) -> Result<InternalFormat, GetFormatError>
[src]
pub fn get_internal_format(&self) -> Result<InternalFormat, GetFormatError>
Determines the internal format of this texture.
pub fn get_mipmap_levels(&self) -> u32
[src]
pub fn get_mipmap_levels(&self) -> u32
Returns the number of mipmap levels of the texture.
pub fn main_level(&self) -> TextureAnyMipmap
[src]
pub fn main_level(&self) -> TextureAnyMipmap
Returns a structure that represents the main mipmap level of the texture.
pub fn mipmap(&self, level: u32) -> Option<TextureAnyMipmap>
[src]
pub fn mipmap(&self, level: u32) -> Option<TextureAnyMipmap>
Returns a structure that represents a specific mipmap of the texture.
Returns None
if out of range.
pub unsafe fn generate_mipmaps(&self)
[src]
pub unsafe fn generate_mipmaps(&self)
Binds this texture and generates mipmaps.
Trait Implementations
impl<'a> AsUniformValue for &'a CompressedTexture2d
[src]
impl<'a> AsUniformValue for &'a CompressedTexture2d
fn as_uniform_value(&self) -> UniformValue
[src]
fn as_uniform_value(&self) -> UniformValue
Builds a UniformValue
.
impl Debug for CompressedTexture2d
[src]
impl Debug for CompressedTexture2d
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl GlObject for CompressedTexture2d
[src]
impl GlObject for CompressedTexture2d
type Id = u32
The type of identifier for this object.
fn get_id(&self) -> u32
[src]
fn get_id(&self) -> u32
Returns the id of the object.
impl Deref for CompressedTexture2d
[src]
impl Deref for CompressedTexture2d
type Target = TextureAny
The resulting type after dereferencing.
fn deref(&'a self) -> &'a TextureAny
[src]
fn deref(&'a self) -> &'a TextureAny
Dereferences the value.
Auto Trait Implementations
impl !Send for CompressedTexture2d
impl !Send for CompressedTexture2d
impl !Sync for CompressedTexture2d
impl !Sync for CompressedTexture2d