pub struct DepthTexture2dArray(/* private fields */);
Expand description
An array of two-dimensional textures containing depth data.
Implementations§
source§impl DepthTexture2dArray
impl DepthTexture2dArray
sourcepub fn sampled(&self) -> Sampler<'_, DepthTexture2dArray>
pub fn sampled(&self) -> Sampler<'_, DepthTexture2dArray>
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)
};
source§impl DepthTexture2dArray
impl DepthTexture2dArray
sourcepub fn get_internal_format(&self) -> Result<InternalFormat, GetFormatError>
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.
sourcepub fn new<'a, F, T>(
facade: &F,
data: Vec<T>,
) -> Result<DepthTexture2dArray, TextureCreationError>
pub fn new<'a, F, T>( facade: &F, data: Vec<T>, ) -> Result<DepthTexture2dArray, TextureCreationError>
Builds a new texture by uploading data.
This function will automatically generate all mipmaps of the texture.
sourcepub fn with_mipmaps<'a, F, T>(
facade: &F,
data: Vec<T>,
mipmaps: MipmapsOption,
) -> Result<DepthTexture2dArray, TextureCreationError>
pub fn with_mipmaps<'a, F, T>( facade: &F, data: Vec<T>, mipmaps: MipmapsOption, ) -> Result<DepthTexture2dArray, TextureCreationError>
Builds a new texture by uploading data.
sourcepub fn with_format<'a, F, T>(
facade: &F,
data: Vec<T>,
format: DepthFormat,
mipmaps: MipmapsOption,
) -> Result<DepthTexture2dArray, TextureCreationError>
pub fn with_format<'a, F, T>( facade: &F, data: Vec<T>, format: DepthFormat, mipmaps: MipmapsOption, ) -> Result<DepthTexture2dArray, TextureCreationError>
Builds a new texture with a specific format.
sourcepub fn empty<F>(
facade: &F,
width: u32,
height: u32,
array_size: u32,
) -> Result<DepthTexture2dArray, TextureCreationError>
pub fn empty<F>( facade: &F, width: u32, height: u32, array_size: u32, ) -> Result<DepthTexture2dArray, TextureCreationError>
Creates an empty texture.
No mipmap level (except for the main level) will be allocated or generated.
The texture will contain undefined data.
sourcepub fn empty_with_format<F>(
facade: &F,
format: DepthFormat,
mipmaps: MipmapsOption,
width: u32,
height: u32,
array_size: u32,
) -> Result<DepthTexture2dArray, TextureCreationError>
pub fn empty_with_format<F>( facade: &F, format: DepthFormat, mipmaps: MipmapsOption, width: u32, height: u32, array_size: u32, ) -> Result<DepthTexture2dArray, TextureCreationError>
Creates an empty texture with a specific format.
The texture (and its mipmaps) will contain undefined data.
sourcepub fn empty_with_mipmaps<F>(
facade: &F,
mipmaps: MipmapsOption,
width: u32,
height: u32,
array_size: u32,
) -> Result<DepthTexture2dArray, TextureCreationError>
pub fn empty_with_mipmaps<F>( facade: &F, mipmaps: MipmapsOption, width: u32, height: u32, array_size: u32, ) -> Result<DepthTexture2dArray, TextureCreationError>
Creates an empty texture. Specifies whether is has mipmaps.
The texture (and its mipmaps) will contain undefined data.
sourcepub unsafe fn from_id<F: Facade + ?Sized>(
facade: &F,
format: DepthFormat,
id: c_uint,
owned: bool,
mipmap: MipmapsOption,
ty: Dimensions,
) -> DepthTexture2dArray
pub unsafe fn from_id<F: Facade + ?Sized>( facade: &F, format: DepthFormat, id: c_uint, owned: bool, mipmap: MipmapsOption, ty: Dimensions, ) -> DepthTexture2dArray
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.
sourcepub unsafe fn new_from_fd<F: Facade + ?Sized>(
facade: &F,
format: DepthFormat,
mipmaps: MipmapsOption,
ty: Dimensions,
params: ImportParameters,
fd: File,
) -> Result<DepthTexture2dArray, TextureImportError>
pub unsafe fn new_from_fd<F: Facade + ?Sized>( facade: &F, format: DepthFormat, mipmaps: MipmapsOption, ty: Dimensions, params: ImportParameters, fd: File, ) -> Result<DepthTexture2dArray, TextureImportError>
Builds a new texture reference from an existing texture, externally created by a foreign API like Vulkan. The texture is imported via an opaque file descriptor. You must make sure all of the texture parameters match those used to create the texture in Vulkan.
sourcepub fn array_size(&self) -> u32
pub fn array_size(&self) -> u32
Returns the number of array layers.
sourcepub fn dimensions(&self) -> (u32, u32)
pub fn dimensions(&self) -> (u32, u32)
Returns the width and height of that image.
sourcepub fn get_mipmap_levels(&self) -> u32
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.
sourcepub fn resident(
self,
) -> Result<ResidentTexture, BindlessTexturesNotSupportedError>
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.
sourcepub fn first_layer(&self) -> DepthTexture2dArrayLayer<'_>
pub fn first_layer(&self) -> DepthTexture2dArrayLayer<'_>
Access the first layer of this texture.
sourcepub fn layer(&self, layer: u32) -> Option<DepthTexture2dArrayLayer<'_>>
pub fn layer(&self, layer: u32) -> Option<DepthTexture2dArrayLayer<'_>>
Access a single layer of this texture.
sourcepub fn mipmap(&self, level: u32) -> Option<DepthTexture2dArrayMipmap<'_>>
pub fn mipmap(&self, level: u32) -> Option<DepthTexture2dArrayMipmap<'_>>
Access a single mipmap level of this texture.
sourcepub fn main_level(&self) -> DepthTexture2dArrayMipmap<'_>
pub fn main_level(&self) -> DepthTexture2dArrayMipmap<'_>
Access the main mipmap level of this texture.
Methods from Deref<Target = TextureAny>§
sourcepub fn get_height(&self) -> Option<u32>
pub fn get_height(&self) -> Option<u32>
Returns the height of the texture.
sourcepub fn kind(&self) -> TextureKind
pub fn kind(&self) -> TextureKind
Returns the kind of texture.
sourcepub fn dimensions(&self) -> Dimensions
pub fn dimensions(&self) -> Dimensions
Returns the dimensions of the texture.
sourcepub fn get_array_size(&self) -> Option<u32>
pub fn get_array_size(&self) -> Option<u32>
Returns the array size of the texture.
sourcepub fn get_samples(&self) -> Option<u32>
pub fn get_samples(&self) -> Option<u32>
Returns the number of samples of the texture if it is a multisampling texture.
sourcepub fn first_layer(&self) -> TextureAnyLayer<'_>
pub fn first_layer(&self) -> TextureAnyLayer<'_>
Returns a structure that represents the first layer of the texture. All textures have a first layer.
sourcepub fn layer(&self, layer: u32) -> Option<TextureAnyLayer<'_>>
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.
sourcepub fn get_texture_type(&self) -> Dimensions
pub fn get_texture_type(&self) -> Dimensions
Returns the type of the texture (1D, 2D, 3D, etc.).
sourcepub fn get_internal_format(&self) -> Result<InternalFormat, GetFormatError>
pub fn get_internal_format(&self) -> Result<InternalFormat, GetFormatError>
Determines the internal format of this texture.
sourcepub fn get_depth_stencil_bits(&self) -> (u16, u16)
pub fn get_depth_stencil_bits(&self) -> (u16, u16)
Determines the number of depth and stencil bits in the format of this texture.
sourcepub fn get_mipmap_levels(&self) -> u32
pub fn get_mipmap_levels(&self) -> u32
Returns the number of mipmap levels of the texture.
sourcepub fn main_level(&self) -> TextureAnyMipmap<'_>
pub fn main_level(&self) -> TextureAnyMipmap<'_>
Returns a structure that represents the main mipmap level of the texture.
sourcepub fn mipmap(&self, level: u32) -> Option<TextureAnyMipmap<'_>>
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.
sourcepub unsafe fn generate_mipmaps(&self)
pub unsafe fn generate_mipmaps(&self)
Binds this texture and generates mipmaps.
Trait Implementations§
source§impl<'a> AsUniformValue for &'a DepthTexture2dArray
impl<'a> AsUniformValue for &'a DepthTexture2dArray
source§fn as_uniform_value(&self) -> UniformValue<'_>
fn as_uniform_value(&self) -> UniformValue<'_>
UniformValue
.source§impl AsUniformValue for DepthTexture2dArray
impl AsUniformValue for DepthTexture2dArray
source§fn as_uniform_value(&self) -> UniformValue<'_>
fn as_uniform_value(&self) -> UniformValue<'_>
UniformValue
.source§impl Debug for DepthTexture2dArray
impl Debug for DepthTexture2dArray
source§impl Deref for DepthTexture2dArray
impl Deref for DepthTexture2dArray
source§type Target = TextureAny
type Target = TextureAny
source§fn deref<'a>(&'a self) -> &'a TextureAny
fn deref<'a>(&'a self) -> &'a TextureAny
Auto Trait Implementations§
impl !Freeze for DepthTexture2dArray
impl !RefUnwindSafe for DepthTexture2dArray
impl !Send for DepthTexture2dArray
impl !Sync for DepthTexture2dArray
impl Unpin for DepthTexture2dArray
impl !UnwindSafe for DepthTexture2dArray
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.