Advanced search tips: use spaces to require multiple terms (AND), | for alternatives (OR), wrap phrases in quotes (="a b"), =term for exact match, 'term to include, !term to exclude, ^term to match prefix, !^term to exclude prefix, .ext$ to match suffix, and !.ext$ to exclude suffix.

pbr_types.wgsl

Import path

Constants

STANDARD_MATERIAL_FLAGS_BASE_COLOR_TEXTURE_BIT

#
const STANDARD_MATERIAL_FLAGS_BASE_COLOR_TEXTURE_BIT: u32 = 1u

STANDARD_MATERIAL_FLAGS_EMISSIVE_TEXTURE_BIT

#
const STANDARD_MATERIAL_FLAGS_EMISSIVE_TEXTURE_BIT: u32 = 2u

STANDARD_MATERIAL_FLAGS_METALLIC_ROUGHNESS_TEXTURE_BIT

#
const STANDARD_MATERIAL_FLAGS_METALLIC_ROUGHNESS_TEXTURE_BIT: u32 = 4u

STANDARD_MATERIAL_FLAGS_OCCLUSION_TEXTURE_BIT

#
const STANDARD_MATERIAL_FLAGS_OCCLUSION_TEXTURE_BIT: u32 = 8u

STANDARD_MATERIAL_FLAGS_DOUBLE_SIDED_BIT

#
const STANDARD_MATERIAL_FLAGS_DOUBLE_SIDED_BIT: u32 = 16u

STANDARD_MATERIAL_FLAGS_UNLIT_BIT

#
const STANDARD_MATERIAL_FLAGS_UNLIT_BIT: u32 = 32u

STANDARD_MATERIAL_FLAGS_TWO_COMPONENT_NORMAL_MAP

#
const STANDARD_MATERIAL_FLAGS_TWO_COMPONENT_NORMAL_MAP: u32 = 64u

STANDARD_MATERIAL_FLAGS_FLIP_NORMAL_MAP_Y

#
const STANDARD_MATERIAL_FLAGS_FLIP_NORMAL_MAP_Y: u32 = 128u

STANDARD_MATERIAL_FLAGS_FOG_ENABLED_BIT

#
const STANDARD_MATERIAL_FLAGS_FOG_ENABLED_BIT: u32 = 256u

STANDARD_MATERIAL_FLAGS_DEPTH_MAP_BIT

#
const STANDARD_MATERIAL_FLAGS_DEPTH_MAP_BIT: u32 = 512u

STANDARD_MATERIAL_FLAGS_SPECULAR_TRANSMISSION_TEXTURE_BIT

#
const STANDARD_MATERIAL_FLAGS_SPECULAR_TRANSMISSION_TEXTURE_BIT: u32 = 1024u

STANDARD_MATERIAL_FLAGS_THICKNESS_TEXTURE_BIT

#
const STANDARD_MATERIAL_FLAGS_THICKNESS_TEXTURE_BIT: u32 = 2048u

STANDARD_MATERIAL_FLAGS_DIFFUSE_TRANSMISSION_TEXTURE_BIT

#
const STANDARD_MATERIAL_FLAGS_DIFFUSE_TRANSMISSION_TEXTURE_BIT: u32 = 4096u

STANDARD_MATERIAL_FLAGS_ATTENUATION_ENABLED_BIT

#
const STANDARD_MATERIAL_FLAGS_ATTENUATION_ENABLED_BIT: u32 = 8192u

STANDARD_MATERIAL_FLAGS_CLEARCOAT_TEXTURE_BIT

#
const STANDARD_MATERIAL_FLAGS_CLEARCOAT_TEXTURE_BIT: u32 = 16384u

STANDARD_MATERIAL_FLAGS_CLEARCOAT_ROUGHNESS_TEXTURE_BIT

#
const STANDARD_MATERIAL_FLAGS_CLEARCOAT_ROUGHNESS_TEXTURE_BIT: u32 = 32768u

STANDARD_MATERIAL_FLAGS_CLEARCOAT_NORMAL_TEXTURE_BIT

#
const STANDARD_MATERIAL_FLAGS_CLEARCOAT_NORMAL_TEXTURE_BIT: u32 = 65536u

STANDARD_MATERIAL_FLAGS_ANISOTROPY_TEXTURE_BIT

#
const STANDARD_MATERIAL_FLAGS_ANISOTROPY_TEXTURE_BIT: u32 = 131072u

STANDARD_MATERIAL_FLAGS_SPECULAR_TEXTURE_BIT

#
const STANDARD_MATERIAL_FLAGS_SPECULAR_TEXTURE_BIT: u32 = 262144u

STANDARD_MATERIAL_FLAGS_SPECULAR_TINT_TEXTURE_BIT

#
const STANDARD_MATERIAL_FLAGS_SPECULAR_TINT_TEXTURE_BIT: u32 = 524288u

STANDARD_MATERIAL_FLAGS_ALPHA_MODE_RESERVED_BITS

#
const STANDARD_MATERIAL_FLAGS_ALPHA_MODE_RESERVED_BITS: u32 = 3758096384u

STANDARD_MATERIAL_FLAGS_ALPHA_MODE_OPAQUE

#
const STANDARD_MATERIAL_FLAGS_ALPHA_MODE_OPAQUE: u32 = 0u

STANDARD_MATERIAL_FLAGS_ALPHA_MODE_MASK

#
const STANDARD_MATERIAL_FLAGS_ALPHA_MODE_MASK: u32 = 536870912u

STANDARD_MATERIAL_FLAGS_ALPHA_MODE_BLEND

#
const STANDARD_MATERIAL_FLAGS_ALPHA_MODE_BLEND: u32 = 1073741824u

STANDARD_MATERIAL_FLAGS_ALPHA_MODE_PREMULTIPLIED

#
const STANDARD_MATERIAL_FLAGS_ALPHA_MODE_PREMULTIPLIED: u32 = 1610612736u

STANDARD_MATERIAL_FLAGS_ALPHA_MODE_ADD

#
const STANDARD_MATERIAL_FLAGS_ALPHA_MODE_ADD: u32 = 2147483648u

STANDARD_MATERIAL_FLAGS_ALPHA_MODE_MULTIPLY

#
const STANDARD_MATERIAL_FLAGS_ALPHA_MODE_MULTIPLY: u32 = 2684354560u

STANDARD_MATERIAL_FLAGS_ALPHA_MODE_ALPHA_TO_COVERAGE

#
const STANDARD_MATERIAL_FLAGS_ALPHA_MODE_ALPHA_TO_COVERAGE: u32 = 3221225472u

Structures

StandardMaterial

#

Since this is a hot path, try to keep the alignment and size of the struct members in mind. You can find the alignment and sizes at https://www.w3.org/TR/WGSL/#alignment-and-size.

struct StandardMaterial {
base_color: vec4<f32> ,
emissive: vec4<f32> ,
attenuation_color: vec4<f32> ,
uv_transform: mat3x3<f32> ,
reflectance: vec3<f32> ,
perceptual_roughness: f32 ,
metallic: f32 ,
diffuse_transmission: f32 ,
specular_transmission: f32 ,
thickness: f32 ,
ior: f32 ,
attenuation_distance: f32 ,
clearcoat: f32 ,
clearcoat_perceptual_roughness: f32 ,
anisotropy_strength: f32 ,
anisotropy_rotation: vec2<f32> ,
flags: u32 ,
alpha_cutoff: f32 ,
parallax_depth_scale: f32 ,
max_parallax_layer_count: f32 ,
lightmap_exposure: f32 ,
max_relief_mapping_search_steps: u32 ,
deferred_lighting_pass_id: u32 ,
}

PbrInput

#
struct PbrInput {
material: StandardMaterial ,
diffuse_occlusion: vec3<f32> ,
specular_occlusion: f32 ,
frag_coord: vec4<f32> ,
world_position: vec4<f32> ,
world_normal: vec3<f32> ,
lightmap_light: vec3<f32> ,
clearcoat_N: vec3<f32> ,
anisotropy_strength: f32 ,
anisotropy_T: vec3<f32> ,
anisotropy_B: vec3<f32> ,
is_orthographic: bool ,
flags: u32 ,
}

Functions

standard_material_new

#

Creates a StandardMaterial with default values

fn standard_material_new () -> StandardMaterial

pbr_input_new

#

Creates a PbrInput with default values

fn pbr_input_new () -> PbrInput