[][src]Struct processing::texture::srgb_texture2d::SrgbTexture2d

pub struct SrgbTexture2d(_);

A two-dimensional texture containing sRGB floating-point data.

Methods

impl SrgbTexture2d[src]

pub fn sampled(&self) -> Sampler<SrgbTexture2d>[src]

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 SrgbTexture2d[src]

pub fn get_internal_format(&self) -> Result<InternalFormat, GetFormatError>[src]

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<SrgbTexture2d, TextureCreationError> where
    F: Facade + ?Sized,
    T: Texture2dDataSource<'a>, 
[src]

Builds a new texture by uploading data.

This function will automatically generate all mipmaps of the texture.

pub fn with_mipmaps<'a, F, T>(
    facade: &F,
    data: T,
    mipmaps: MipmapsOption
) -> Result<SrgbTexture2d, TextureCreationError> where
    F: Facade + ?Sized,
    T: Texture2dDataSource<'a>, 
[src]

Builds a new texture by uploading data.

pub fn with_format<'a, F, T>(
    facade: &F,
    data: T,
    format: SrgbFormat,
    mipmaps: MipmapsOption
) -> Result<SrgbTexture2d, TextureCreationError> where
    F: Facade + ?Sized,
    T: Texture2dDataSource<'a>, 
[src]

Builds a new texture with a specific format.

pub fn empty<F>(
    facade: &F,
    width: u32,
    height: u32
) -> Result<SrgbTexture2d, TextureCreationError> where
    F: Facade + ?Sized
[src]

Creates an empty texture.

No mipmap level (except for the main level) will be allocated or generated.

The texture will contain undefined data.

pub fn empty_with_format<F>(
    facade: &F,
    format: SrgbFormat,
    mipmaps: MipmapsOption,
    width: u32,
    height: u32
) -> Result<SrgbTexture2d, TextureCreationError> where
    F: Facade + ?Sized
[src]

Creates an empty texture with a specific format.

The texture (and its mipmaps) will contain undefined data.

pub fn empty_with_mipmaps<F>(
    facade: &F,
    mipmaps: MipmapsOption,
    width: u32,
    height: u32
) -> Result<SrgbTexture2d, TextureCreationError> where
    F: Facade + ?Sized
[src]

Creates an empty texture. Specifies whether is has mipmaps.

The texture (and its mipmaps) will contain undefined data.

pub unsafe fn from_id<F>(
    facade: &F,
    format: SrgbFormat,
    id: u32,
    owned: bool,
    mipmap: MipmapsOption,
    ty: Dimensions
) -> SrgbTexture2d where
    F: Facade + ?Sized
[src]

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]

Returns the width of that image.

pub fn height(&self) -> u32[src]

Returns the height of that image.

pub fn dimensions(&self) -> (u32, u32)[src]

Returns the width and height of that image.

pub fn get_mipmap_levels(&self) -> u32[src]

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]

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]

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]

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]

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 write<'a, T>(&self, rect: Rect, data: T) where
    T: Texture2dDataSource<'a>, 
[src]

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.

pub fn resident(
    self
) -> Result<ResidentTexture, BindlessTexturesNotSupportedError>
[src]

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<SrgbTexture2dMipmap>[src]

Access a single mipmap level of this texture.

pub fn main_level(&self) -> SrgbTexture2dMipmap[src]

Access the main mipmap level of this texture.

Methods from Deref<Target = TextureAny>

pub fn get_width(&self) -> u32[src]

Returns the width of the texture.

pub fn get_height(&self) -> Option<u32>[src]

Returns the height of the texture.

pub fn get_depth(&self) -> Option<u32>[src]

Returns the depth of the texture.

pub fn kind(&self) -> TextureKind[src]

Returns the kind of texture.

pub fn dimensions(&self) -> Dimensions[src]

Returns the dimensions of the texture.

pub fn get_array_size(&self) -> Option<u32>[src]

Returns the array size of the texture.

pub fn get_samples(&self) -> Option<u32>[src]

Returns the number of samples of the texture if it is a multisampling texture.

pub fn first_layer(&self) -> TextureAnyLayer[src]

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]

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]

Returns the type of the texture (1D, 2D, 3D, etc.).

pub fn get_internal_format(&self) -> Result<InternalFormat, GetFormatError>[src]

Determines the internal format of this texture.

pub fn get_mipmap_levels(&self) -> u32[src]

Returns the number of mipmap levels of the texture.

pub fn main_level(&self) -> TextureAnyMipmap[src]

Returns a structure that represents the main mipmap level of the texture.

pub fn mipmap(&self, level: u32) -> Option<TextureAnyMipmap>[src]

Returns a structure that represents a specific mipmap of the texture.

Returns None if out of range.

pub unsafe fn generate_mipmaps(&self)[src]

Binds this texture and generates mipmaps.

Trait Implementations

impl<'a> AsUniformValue for &'a SrgbTexture2d[src]

impl<'t> ToColorAttachment<'t> for &'t SrgbTexture2d[src]

impl Debug for SrgbTexture2d[src]

impl GlObject for SrgbTexture2d[src]

type Id = u32

The type of identifier for this object.

impl Deref for SrgbTexture2d[src]

type Target = TextureAny

The resulting type after dereferencing.

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Same for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf for SP where
    SS: SubsetOf<SP>, 

impl<T> SetParameter for T

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
    T: Parameter<Self>, 

Sets value as a parameter of self.

impl<T> Erased for T[src]