Expand description
Extent of a texture related operation.
Fields
width: u32
height: u32
depth_or_array_layers: u32
Implementations
sourceimpl Extent3d
impl Extent3d
sourcepub fn physical_size(&self, format: TextureFormat) -> Extent3d
pub fn physical_size(&self, format: TextureFormat) -> Extent3d
Calculates the physical size is backing an texture of the given format and extent. This includes padding to the block width and height of the format.
This is the texture extent that you must upload at when uploading to mipmaps of compressed textures.
let format = wgpu::TextureFormat::Bc1RgbaUnormSrgb; // 4x4 blocks
assert_eq!(
wgpu::Extent3d { width: 7, height: 7, depth_or_array_layers: 1 }.physical_size(format),
wgpu::Extent3d { width: 8, height: 8, depth_or_array_layers: 1 }
);
// Doesn't change, already aligned
assert_eq!(
wgpu::Extent3d { width: 8, height: 8, depth_or_array_layers: 1 }.physical_size(format),
wgpu::Extent3d { width: 8, height: 8, depth_or_array_layers: 1 }
);
let format = wgpu::TextureFormat::Astc8x5RgbaUnorm; // 8x5 blocks
assert_eq!(
wgpu::Extent3d { width: 7, height: 7, depth_or_array_layers: 1 }.physical_size(format),
wgpu::Extent3d { width: 8, height: 10, depth_or_array_layers: 1 }
);
sourcepub fn max_mips(&self) -> u32
pub fn max_mips(&self) -> u32
Calculates the maximum possible count of mipmaps.
Treats the depth as part of the mipmaps. If calculating for a 2DArray texture, which does not mipmap depth, set depth to 1.
assert_eq!(wgpu::Extent3d { width: 1, height: 1, depth_or_array_layers: 1 }.max_mips(), 1);
assert_eq!(wgpu::Extent3d { width: 60, height: 60, depth_or_array_layers: 1 }.max_mips(), 6);
assert_eq!(wgpu::Extent3d { width: 240, height: 1, depth_or_array_layers: 1 }.max_mips(), 8);
Trait Implementations
impl Copy for Extent3d
impl Eq for Extent3d
impl StructuralEq for Extent3d
impl StructuralPartialEq for Extent3d
Auto Trait Implementations
impl RefUnwindSafe for Extent3d
impl Send for Extent3d
impl Sync for Extent3d
impl Unpin for Extent3d
impl UnwindSafe for Extent3d
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Fr, To> IntoColor<To> for Fr where
To: FromColor<Fr>,
impl<Fr, To> IntoColor<To> for Fr where
To: FromColor<Fr>,
sourcefn into_color(self) -> To
fn into_color(self) -> To
Convert into color
impl<T> Pointable for T
impl<T> Pointable for T
impl<T> SetParameter for T
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
Sets value
as a parameter of self
.