pub trait ShaderSize: ShaderType {
    const SHADER_SIZE: NonZeroU64 = Self::METADATA.min_size().0;
}
Expand description

Trait implemented for all WGSL fixed-footprint types

Provided Associated Constants§

const SHADER_SIZE: NonZeroU64 = Self::METADATA.min_size().0

Represents WGSL Size (equivalent to ShaderType::min_size)

Implementations on Foreign Types§

§

impl<T> ShaderSize for Arc<T>where T: ShaderSize + ?Sized,

§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

§

impl<T> ShaderSize for Cell<T>where T: Copy + ShaderSize + ?Sized,

§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

§

impl ShaderSize for Option<NonZeroI32>

§

impl<T> ShaderSize for &Twhere T: ShaderSize + ?Sized,

§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

§

impl<T> ShaderSize for Box<T, Global>where T: ShaderSize + ?Sized,

§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

§

impl ShaderSize for f32

§

impl ShaderSize for i32

§

impl<T> ShaderSize for Rc<T>where T: ShaderSize + ?Sized,

§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

§

impl<T, const N: usize> ShaderSize for [T; N]where T: ShaderSize,

§

impl ShaderSize for u32

§

impl ShaderSize for AtomicU32

§

impl ShaderSize for Wrapping<u32>

§

impl ShaderSize for Wrapping<i32>

§

impl ShaderSize for AtomicI32

§

impl<T> ShaderSize for &mut Twhere T: ShaderSize + ?Sized,

§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

§

impl<T> ShaderSize for Cow<'_, T>where T: ToOwned<Owned = T> + ShaderSize + ?Sized,

§

const SHADER_SIZE: NonZeroU64 = T::SHADER_SIZE

§

impl ShaderSize for Option<NonZeroU32>

Implementors§

§

impl ShaderSize for Color

§

impl ShaderSize for Mat2where f32: ShaderSize,

§

impl ShaderSize for Mat3where f32: ShaderSize,

§

impl ShaderSize for Mat4where f32: ShaderSize,

§

impl ShaderSize for Vec2where f32: ShaderSize,

§

impl ShaderSize for Vec3where f32: ShaderSize,

§

impl ShaderSize for Vec4where f32: ShaderSize,

§

impl ShaderSize for IVec2where i32: ShaderSize,

§

impl ShaderSize for IVec3where i32: ShaderSize,

§

impl ShaderSize for IVec4where i32: ShaderSize,

§

impl ShaderSize for UVec2where u32: ShaderSize,

§

impl ShaderSize for UVec3where u32: ShaderSize,

§

impl ShaderSize for UVec4where u32: ShaderSize,

§

impl ShaderSize for GpuDirectionalCascadewhere Mat4: ShaderSize, f32: ShaderSize,

§

impl ShaderSize for GpuDirectionalLightwhere [GpuDirectionalCascade; 4]: ShaderSize, Vec4: ShaderSize, Vec3: ShaderSize, u32: ShaderSize, f32: ShaderSize,

§

impl ShaderSize for GpuFogwhere Vec4: ShaderSize, Vec3: ShaderSize, f32: ShaderSize, u32: ShaderSize,

§

impl ShaderSize for GpuLightswhere [GpuDirectionalLight; 10]: ShaderSize, Vec4: ShaderSize, UVec4: ShaderSize, u32: ShaderSize, i32: ShaderSize,

§

impl ShaderSize for GpuPointLightwhere Vec4: ShaderSize, u32: ShaderSize, f32: ShaderSize,

§

impl ShaderSize for GpuPointLightsUniformwhere Box<[GpuPointLight; 256], Global>: ShaderSize,

§

impl ShaderSize for MeshUniformwhere Mat4: ShaderSize, u32: ShaderSize,

§

impl ShaderSize for StandardMaterialUniformwhere Vec4: ShaderSize, f32: ShaderSize, u32: ShaderSize,

§

impl ShaderSize for ColorMaterialUniformwhere Vec4: ShaderSize, u32: ShaderSize,

§

impl ShaderSize for Mesh2dUniformwhere Mat4: ShaderSize, u32: ShaderSize,

§

impl ShaderSize for GlobalsUniformwhere f32: ShaderSize, u32: ShaderSize,

§

impl ShaderSize for ColorGradingwhere f32: ShaderSize,

§

impl ShaderSize for ViewUniformwhere Mat4: ShaderSize, Vec3: ShaderSize, Vec4: ShaderSize, ColorGrading: ShaderSize,

§

impl ShaderSize for ArrayLength