Back home 🏡 WGSL Spec Bevy WGSL Functions

pbr_deferred_types.wgsl

Import path

Constants

Name Type Value
DEFERRED_FLAGS_UNLIT_BIT # u32 1u
DEFERRED_FLAGS_FOG_ENABLED_BIT # u32 2u
DEFERRED_MESH_FLAGS_SHADOW_RECEIVER_BIT # u32 4u
U12MAXF # AbstractFloat 4095.0
U16MAXF # AbstractFloat 65535.0
U20MAXF # AbstractFloat 1048575.0

Functions

deferred_flags_from_mesh_material_flags

#
fn deferred_flags_from_mesh_material_flags(mesh_flags: u32, mat_flags: u32) -> u32
Parameter Type
mesh_flags u32
mat_flags u32
Returns: u32

mesh_material_flags_from_deferred_flags

#
fn mesh_material_flags_from_deferred_flags(deferred_flags: u32) -> vec2<u32>
Parameter Type
deferred_flags u32
Returns: vec2<u32>

pack_24bit_normal_and_flags

#
fn pack_24bit_normal_and_flags(octahedral_normal: vec2<f32>, flags: u32) -> u32
Parameter Type
octahedral_normal vec2<f32>
flags u32
Returns: u32

unpack_24bit_normal

#
fn unpack_24bit_normal(packed: u32) -> vec2<f32>
Parameter Type
packed u32
Returns: vec2<f32>

unpack_flags

#
fn unpack_flags(packed: u32) -> u32
Parameter Type
packed u32
Returns: u32

unpack_unorm4x8_

#
The builtin one didn't work in webgl. "'unpackUnorm4x8' : no matching overloaded function found" https://github.com/gfx-rs/naga/issues/2006
fn unpack_unorm4x8_(v: u32) -> vec4<f32>
Parameter Type
v u32
Returns: vec4<f32>

pack_unorm4x8_

#
'packUnorm4x8' : no matching overloaded function found https://github.com/gfx-rs/naga/issues/2006
fn pack_unorm4x8_(values: vec4<f32>) -> u32
Parameter Type
values vec4<f32>
Returns: u32

pack_unorm3x4_plus_unorm_20_

#
Pack 3x 4bit unorm + 1x 20bit
fn pack_unorm3x4_plus_unorm_20_(v: vec4<f32>) -> u32
Parameter Type
v vec4<f32>
Returns: u32

unpack_unorm3x4_plus_unorm_20_

#
Unpack 3x 4bit unorm + 1x 20bit
fn unpack_unorm3x4_plus_unorm_20_(v: u32) -> vec4<f32>
Parameter Type
v u32
Returns: vec4<f32>