Skip to main content

ShaderSize

Trait ShaderSize 

Source
pub trait ShaderSize: ShaderType {
    const SHADER_SIZE: NonZero<u64> = _;
}
Expand description

Trait implemented for all WGSL fixed-footprint types

Provided Associated Constants§

Source

const SHADER_SIZE: NonZero<u64> = _

Represents WGSL Size (equivalent to ShaderType::min_size)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl ShaderSize for Option<NonZero<i32>>

Source§

impl ShaderSize for Option<NonZero<u32>>

Source§

impl ShaderSize for f32

Source§

impl ShaderSize for i32

Source§

impl ShaderSize for u32

Source§

impl ShaderSize for Wrapping<i32>

Source§

impl ShaderSize for Wrapping<u32>

Source§

impl ShaderSize for Atomic<i32>

Source§

impl ShaderSize for Atomic<u32>

Source§

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

Source§

const SHADER_SIZE: NonZero<u64> = T::SHADER_SIZE

Source§

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

Source§

const SHADER_SIZE: NonZero<u64> = T::SHADER_SIZE

Source§

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

Source§

const SHADER_SIZE: NonZero<u64> = T::SHADER_SIZE

Source§

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

Source§

const SHADER_SIZE: NonZero<u64> = T::SHADER_SIZE

Source§

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

Source§

const SHADER_SIZE: NonZero<u64> = T::SHADER_SIZE

Source§

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

Implementors§

Source§

impl ShaderSize for DownsamplingConstants

Source§

impl ShaderSize for OitFragmentNode
where u32: ShaderSize,

Source§

impl ShaderSize for OrderIndependentTransparencySettings

Source§

impl ShaderSize for PreviousViewData

Source§

impl ShaderSize for SkyboxUniforms

Source§

impl ShaderSize for MorphAttributes

Source§

impl ShaderSize for RenderClusteredDecal

Source§

impl ShaderSize for ForwardDecalMaterialExtUniform
where f32: ShaderSize,

Source§

impl ShaderSize for PbrDeferredLightingDepthId
where u32: ShaderSize,

Source§

impl ShaderSize for FilteringConstants

Source§

impl ShaderSize for AtmosphereTransform

Source§

impl ShaderSize for GpuAtmosphere

Source§

impl ShaderSize for ContactShadowsUniform

Source§

impl ShaderSize for GpuAtmosphereSettings

Source§

impl ShaderSize for GpuClusteredLight

Source§

impl ShaderSize for GpuDirectionalCascade

Source§

impl ShaderSize for GpuDirectionalLight

Source§

impl ShaderSize for GpuFog

Source§

impl ShaderSize for GpuLights

Source§

impl ShaderSize for GpuMorphDescriptor
where u32: ShaderSize,

Source§

impl ShaderSize for GpuRectLight

Source§

impl ShaderSize for LightProbesUniform
where [RenderLightProbe; 8]: ShaderSize, i32: ShaderSize, u32: ShaderSize, Vec4: ShaderSize, f32: ShaderSize,

Source§

impl ShaderSize for MeshCullingData

Source§

impl ShaderSize for MeshInputUniform

Source§

impl ShaderSize for MeshUniform

Source§

impl ShaderSize for PreviousMeshInputUniform
where [Vec4; 3]: ShaderSize,

Source§

impl ShaderSize for ScreenSpaceReflectionsUniform

Source§

impl ShaderSize for StandardMaterialUniform

Source§

impl ShaderSize for WireframeVertexPullParams
where u32: ShaderSize,

Source§

impl ShaderSize for DepthOfFieldUniform

Source§

impl ShaderSize for ChromaticAberrationUniform

Source§

impl ShaderSize for LensDistortionUniform

Source§

impl ShaderSize for VignetteUniform

Source§

impl ShaderSize for IVec2
where i32: ShaderSize,

Source§

impl ShaderSize for IVec3
where i32: ShaderSize,

Source§

impl ShaderSize for IVec4
where i32: ShaderSize,

Source§

impl ShaderSize for LinearRgba

Available on crate feature encase only.
Source§

impl ShaderSize for Mat2
where f32: ShaderSize,

Source§

impl ShaderSize for Mat3
where f32: ShaderSize,

Source§

impl ShaderSize for Mat4
where f32: ShaderSize,

Source§

impl ShaderSize for UVec2
where u32: ShaderSize,

Source§

impl ShaderSize for UVec3
where u32: ShaderSize,

Source§

impl ShaderSize for UVec4
where u32: ShaderSize,

Source§

impl ShaderSize for Vec2
where f32: ShaderSize,

Source§

impl ShaderSize for Vec3
where f32: ShaderSize,

Source§

impl ShaderSize for Vec4
where f32: ShaderSize,

Source§

impl ShaderSize for GpuBinMetadata
where u32: ShaderSize,

Source§

impl ShaderSize for GpuBinUnpackingMetadata

Source§

impl ShaderSize for GpuUniformAllocationMetadata

Source§

impl ShaderSize for IndirectBatchSet
where u32: ShaderSize,

Source§

impl ShaderSize for IndirectParametersBuildJob

Source§

impl ShaderSize for IndirectParametersIndexed
where u32: ShaderSize,

Source§

impl ShaderSize for IndirectParametersMetadata
where u32: ShaderSize,

Source§

impl ShaderSize for IndirectParametersNonIndexed
where u32: ShaderSize,

Source§

impl ShaderSize for LatePreprocessWorkItemIndirectParameters

Source§

impl ShaderSize for PreprocessWorkItem
where u32: ShaderSize,

Source§

impl ShaderSize for GlobalsUniform

Source§

impl ShaderSize for MeshMetadata

Source§

impl ShaderSize for GpuRenderBinnedMeshInstance
where u32: ShaderSize,

Source§

impl ShaderSize for ColorGradingUniform

Source§

impl ShaderSize for ViewUniform

Source§

impl ShaderSize for ArrayLength

Source§

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

Source§

const SHADER_SIZE: NonZero<u64> = T::SHADER_SIZE

Source§

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

Source§

const SHADER_SIZE: NonZero<u64> = T::SHADER_SIZE