Struct wgpu_types::TextureDescriptor [−][src]
#[repr(C)]pub struct TextureDescriptor<L> {
    pub label: L,
    pub size: Extent3d,
    pub mip_level_count: u32,
    pub sample_count: u32,
    pub dimension: TextureDimension,
    pub format: TextureFormat,
    pub usage: TextureUsages,
}Expand description
Describes a [Texture].
Fields
label: LDebug label of the texture. This will show up in graphics debuggers for easy identification.
size: Extent3dSize of the texture. All components must be greater than zero. For a regular 1D/2D texture, the unused sizes will be 1. For 2DArray textures, Z is the number of 2D textures in that array.
mip_level_count: u32Mip count of texture. For a texture with no extra mips, this must be 1.
sample_count: u32Sample count of texture. If this is not 1, texture must have BindingType::Texture::multisampled set to true.
dimension: TextureDimensionDimensions of the texture.
format: TextureFormatFormat of the texture.
usage: TextureUsagesAllowed usages of the texture. If used in other ways, the operation will panic.
Implementations
Calculates the extent at a given mip level.
If the given mip level is larger than possible, returns None.
Treats the depth as part of the mipmaps. If calculating for a 2DArray texture, which does not mipmap depth, set depth to 1.
let desc = wgpu::TextureDescriptor {
  label: (),
  size: wgpu::Extent3d { width: 100, height: 60, depth_or_array_layers: 1 },
  mip_level_count: 7,
  sample_count: 1,
  dimension: wgpu::TextureDimension::D3,
  format: wgpu::TextureFormat::Rgba8Sint,
  usage: wgpu::TextureUsages::empty(),
};
assert_eq!(desc.mip_level_size(0), Some(wgpu::Extent3d { width: 100, height: 60, depth_or_array_layers: 1 }));
assert_eq!(desc.mip_level_size(1), Some(wgpu::Extent3d { width: 50, height: 30, depth_or_array_layers: 1 }));
assert_eq!(desc.mip_level_size(2), Some(wgpu::Extent3d { width: 25, height: 15, depth_or_array_layers: 1 }));
assert_eq!(desc.mip_level_size(3), Some(wgpu::Extent3d { width: 12, height: 7, depth_or_array_layers: 1 }));
assert_eq!(desc.mip_level_size(4), Some(wgpu::Extent3d { width: 6, height: 3, depth_or_array_layers: 1 }));
assert_eq!(desc.mip_level_size(5), Some(wgpu::Extent3d { width: 3, height: 1, depth_or_array_layers: 1 }));
assert_eq!(desc.mip_level_size(6), Some(wgpu::Extent3d { width: 1, height: 1, depth_or_array_layers: 1 }));
assert_eq!(desc.mip_level_size(7), None);Returns the number of array layers.
Trait Implementations
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
Auto Trait Implementations
impl<L> RefUnwindSafe for TextureDescriptor<L> where
    L: RefUnwindSafe, 
impl<L> Send for TextureDescriptor<L> where
    L: Send, 
impl<L> Sync for TextureDescriptor<L> where
    L: Sync, 
impl<L> Unpin for TextureDescriptor<L> where
    L: Unpin, 
impl<L> UnwindSafe for TextureDescriptor<L> where
    L: UnwindSafe, 
Blanket Implementations
Mutably borrows from an owned value. Read more
