Search across packages, versions, files, declarations, and comments. Use multiple terms to narrow results (AND), and add @vertex, @fragment, or @compute to filter by shader stage.

Constants

pbr_types__STANDARD_MATERIAL_FLAGS_EMISSIVE_TEXTURE_BIT

#
const pbr_types__STANDARD_MATERIAL_FLAGS_EMISSIVE_TEXTURE_BIT: u32 = 2u

pbr_types__STANDARD_MATERIAL_FLAGS_UNLIT_BIT

#
const pbr_types__STANDARD_MATERIAL_FLAGS_UNLIT_BIT: u32 = 32u

pbr_types__STANDARD_MATERIAL_FLAGS_ALPHA_MODE_BLEND

#
const pbr_types__STANDARD_MATERIAL_FLAGS_ALPHA_MODE_BLEND: u32 = 256u

pbr_types__STANDARD_MATERIAL_FLAGS_TWO_COMPONENT_NORMAL_MAP

#
const pbr_types__STANDARD_MATERIAL_FLAGS_TWO_COMPONENT_NORMAL_MAP: u32 = 512u

pbr_types__STANDARD_MATERIAL_FLAGS_ALPHA_MODE_MASK

#
const pbr_types__STANDARD_MATERIAL_FLAGS_ALPHA_MODE_MASK: u32 = 128u

pbr_types__STANDARD_MATERIAL_FLAGS_DOUBLE_SIDED_BIT

#
const pbr_types__STANDARD_MATERIAL_FLAGS_DOUBLE_SIDED_BIT: u32 = 16u

pbr_types__STANDARD_MATERIAL_FLAGS_BASE_COLOR_TEXTURE_BIT

#
const pbr_types__STANDARD_MATERIAL_FLAGS_BASE_COLOR_TEXTURE_BIT: u32 = 1u

pbr_types__STANDARD_MATERIAL_FLAGS_METALLIC_ROUGHNESS_TEXTURE_BIT

#
const pbr_types__STANDARD_MATERIAL_FLAGS_METALLIC_ROUGHNESS_TEXTURE_BIT: u32 = 4u

pbr_types__STANDARD_MATERIAL_FLAGS_OCCLUSION_TEXTURE_BIT

#
const pbr_types__STANDARD_MATERIAL_FLAGS_OCCLUSION_TEXTURE_BIT: u32 = 8u

pbr_types__STANDARD_MATERIAL_FLAGS_ALPHA_MODE_OPAQUE

#
const pbr_types__STANDARD_MATERIAL_FLAGS_ALPHA_MODE_OPAQUE: u32 = 64u

pbr_types__STANDARD_MATERIAL_FLAGS_FLIP_NORMAL_MAP_Y

#
const pbr_types__STANDARD_MATERIAL_FLAGS_FLIP_NORMAL_MAP_Y: u32 = 1024u

mesh_types__MESH_FLAGS_SHADOW_RECEIVER_BIT

#
const mesh_types__MESH_FLAGS_SHADOW_RECEIVER_BIT: u32 = 1u

mesh_view_types__POINT_LIGHT_FLAGS_SPOT_LIGHT_Y_NEGATIVE

#
const mesh_view_types__POINT_LIGHT_FLAGS_SPOT_LIGHT_Y_NEGATIVE: u32 = 2u

mesh_view_types__DIRECTIONAL_LIGHT_FLAGS_SHADOWS_ENABLED_BIT

#
const mesh_view_types__DIRECTIONAL_LIGHT_FLAGS_SHADOWS_ENABLED_BIT: u32 = 1u

mesh_view_types__POINT_LIGHT_FLAGS_SHADOWS_ENABLED_BIT

#
const mesh_view_types__POINT_LIGHT_FLAGS_SHADOWS_ENABLED_BIT: u32 = 1u

utils__PI

#
const utils__PI: f32 = 3.1415927410125732

clustered_forward__CLUSTER_COUNT_SIZE

#
const clustered_forward__CLUSTER_COUNT_SIZE: u32 = 9u

Bindings

mesh_bindings__mesh

#
@group(2)
@binding(0)
var<uniform> mesh_bindings__mesh: mesh_types__Mesh

mesh_view_bindings__view

#
@group(0)
@binding(0)
var<uniform> mesh_view_bindings__view: mesh_view_types__View

mesh_view_bindings__point_shadow_textures

#
@group(0)
@binding(2)
var mesh_view_bindings__point_shadow_textures: texture_depth_cube_array

mesh_view_bindings__directional_shadow_textures_sampler

#
@group(0)
@binding(5)
var mesh_view_bindings__directional_shadow_textures_sampler: sampler_comparison

mesh_view_bindings__point_lights

#
@group(0)
@binding(6)
var<storage> mesh_view_bindings__point_lights: mesh_view_types__PointLights

mesh_view_bindings__lights

#
@group(0)
@binding(1)
var<uniform> mesh_view_bindings__lights: mesh_view_types__Lights

mesh_view_bindings__point_shadow_textures_sampler

#
@group(0)
@binding(3)
var mesh_view_bindings__point_shadow_textures_sampler: sampler_comparison

mesh_view_bindings__directional_shadow_textures

#
@group(0)
@binding(4)
var mesh_view_bindings__directional_shadow_textures: texture_depth_2d_array

mesh_view_bindings__cluster_light_index_lists

#
@group(0)
@binding(7)
var<storage> mesh_view_bindings__cluster_light_index_lists: mesh_view_types__ClusterLightIndexLists

mesh_view_bindings__cluster_offsets_and_counts

#
@group(0)
@binding(8)
var<storage> mesh_view_bindings__cluster_offsets_and_counts: mesh_view_types__ClusterOffsetsAndCounts

pbr_bindings__occlusion_sampler

#
@group(1)
@binding(8)
var pbr_bindings__occlusion_sampler: sampler

pbr_bindings__material

#
@group(1)
@binding(0)
var<uniform> pbr_bindings__material: pbr_types__StandardMaterial

pbr_bindings__emissive_texture

#
@group(1)
@binding(3)
var pbr_bindings__emissive_texture: texture_2d<f32>

pbr_bindings__base_color_texture

#
@group(1)
@binding(1)
var pbr_bindings__base_color_texture: texture_2d<f32>

pbr_bindings__metallic_roughness_texture

#
@group(1)
@binding(5)
var pbr_bindings__metallic_roughness_texture: texture_2d<f32>

pbr_bindings__emissive_sampler

#
@group(1)
@binding(4)
var pbr_bindings__emissive_sampler: sampler

pbr_bindings__metallic_roughness_sampler

#
@group(1)
@binding(6)
var pbr_bindings__metallic_roughness_sampler: sampler

pbr_bindings__base_color_sampler

#
@group(1)
@binding(2)
var pbr_bindings__base_color_sampler: sampler

pbr_bindings__normal_map_sampler

#
@group(1)
@binding(10)
var pbr_bindings__normal_map_sampler: sampler

pbr_bindings__normal_map_texture

#
@group(1)
@binding(9)
var pbr_bindings__normal_map_texture: texture_2d<f32>

pbr_bindings__occlusion_texture

#
@group(1)
@binding(7)
var pbr_bindings__occlusion_texture: texture_2d<f32>

Structures

mesh_vertex_output__MeshVertexOutput

#
struct mesh_vertex_output__MeshVertexOutput {
@location(0)
world_position: vec4<f32>,
@location(1)
world_normal: vec3<f32>,
@location(2)
uv: vec2<f32>,
}

pbr_types__StandardMaterial

#
struct pbr_types__StandardMaterial {
base_color: vec4<f32>,
emissive: vec4<f32>,
perceptual_roughness: f32,
metallic: f32,
reflectance: f32,
flags: u32,
alpha_cutoff: f32,
}

mesh_types__Mesh

#
struct mesh_types__Mesh {
model: mat4x4<f32>,
inverse_transpose_model: mat4x4<f32>,
flags: u32,
}

mesh_view_types__View

#
struct mesh_view_types__View {
view_proj: mat4x4<f32>,
inverse_view_proj: mat4x4<f32>,
view: mat4x4<f32>,
inverse_view: mat4x4<f32>,
projection: mat4x4<f32>,
inverse_projection: mat4x4<f32>,
world_position: vec3<f32>,
width: f32,
height: f32,
}

mesh_view_types__PointLight

#
struct mesh_view_types__PointLight {
light_custom_data: vec4<f32>,
color_inverse_square_range: vec4<f32>,
position_radius: vec4<f32>,
flags: u32,
shadow_depth_bias: f32,
shadow_normal_bias: f32,
spot_light_tan_angle: f32,
}

mesh_view_types__DirectionalLight

#
struct mesh_view_types__DirectionalLight {
view_projection: mat4x4<f32>,
color: vec4<f32>,
direction_to_light: vec3<f32>,
flags: u32,
shadow_depth_bias: f32,
shadow_normal_bias: f32,
}

mesh_view_types__Lights

#
struct mesh_view_types__Lights {
directional_lights: array<mesh_view_types__DirectionalLight,1u>,
ambient_color: vec4<f32>,
cluster_dimensions: vec4<u32>,
cluster_factors: vec4<f32>,
n_directional_lights: u32,
spot_light_shadowmap_offset: i32,
}

mesh_view_types__PointLights

#
struct mesh_view_types__PointLights { }

mesh_view_types__ClusterLightIndexLists

#
struct mesh_view_types__ClusterLightIndexLists {
data: array<u32>,
}

mesh_view_types__ClusterOffsetsAndCounts

#
struct mesh_view_types__ClusterOffsetsAndCounts {
data: array<vec4<u32>>,
}

pbr_functions__PbrInput

#
struct pbr_functions__PbrInput {
occlusion: f32,
frag_coord: vec4<f32>,
world_position: vec4<f32>,
world_normal: vec3<f32>,
N: vec3<f32>,
V: vec3<f32>,
is_orthographic: bool,
}

Functions

pbr_types__standard_material_new

#
fn pbr_types__standard_material_new () -> pbr_types__StandardMaterial

utils__saturate

#
fn utils__saturate (
value: f32
) -> f32

utils__hsv2rgb

#
fn utils__hsv2rgb (
hue: f32,
saturation: f32,
value_1: f32
) -> vec3<f32>

utils__random1D

#
fn utils__random1D (
s: f32
) -> f32

lighting__getDistanceAttenuation

#
fn lighting__getDistanceAttenuation (
distanceSquare: f32,
inverseRangeSquared: f32
) -> f32

lighting__D_GGX

#
fn lighting__D_GGX (
roughness: f32,
NoH: f32,
h: vec3<f32>
) -> f32

lighting__V_SmithGGXCorrelated

#
fn lighting__V_SmithGGXCorrelated (
roughness_1: f32,
NoV: f32,
NoL: f32
) -> f32

lighting__F_Schlick_vec

#
fn lighting__F_Schlick_vec (
f0_: vec3<f32>,
f90_: f32,
VoH: f32
) -> vec3<f32>

lighting__F_Schlick

#
fn lighting__F_Schlick (
f0_1: f32,
f90_1: f32,
VoH_1: f32
) -> f32

lighting__fresnel

#
fn lighting__fresnel (
f0_2: vec3<f32>,
LoH: f32
) -> vec3<f32>

lighting__specular

#
fn lighting__specular (
f0_3: vec3<f32>,
roughness_2: f32,
h_1: vec3<f32>,
NoV_1: f32,
NoL_1: f32,
NoH_1: f32,
LoH_1: f32,
specularIntensity: f32
) -> vec3<f32>

lighting__Fd_Burley

#
fn lighting__Fd_Burley (
roughness_3: f32,
NoV_2: f32,
NoL_2: f32,
LoH_2: f32
) -> f32

lighting__EnvBRDFApprox

#
fn lighting__EnvBRDFApprox (
f0_4: vec3<f32>,
perceptual_roughness_1: f32,
NoV_3: f32
) -> vec3<f32>

lighting__perceptualRoughnessToRoughness

#
fn lighting__perceptualRoughnessToRoughness (
perceptualRoughness: f32
) -> f32

lighting__reinhard

#
fn lighting__reinhard (
color: vec3<f32>
) -> vec3<f32>

lighting__reinhard_extended

#
fn lighting__reinhard_extended (
color_1: vec3<f32>,
max_white: f32
) -> vec3<f32>

lighting__luminance

#
fn lighting__luminance (
v: vec3<f32>
) -> f32

lighting__change_luminance

#
fn lighting__change_luminance (
c_in: vec3<f32>,
l_out: f32
) -> vec3<f32>

lighting__reinhard_luminance

#
fn lighting__reinhard_luminance (
color_2: vec3<f32>
) -> vec3<f32>

lighting__reinhard_extended_luminance

#
fn lighting__reinhard_extended_luminance (
color_3: vec3<f32>,
max_white_l: f32
) -> vec3<f32>

lighting__point_light

#
fn lighting__point_light (
world_position: vec3<f32>,
roughness_4: f32,
NdotV: f32,
N: vec3<f32>,
V: vec3<f32>,
R: vec3<f32>,
F0_: vec3<f32>,
diffuseColor: vec3<f32>
) -> vec3<f32>

lighting__spot_light

#
fn lighting__spot_light (
world_position_1: vec3<f32>,
roughness_5: f32,
NdotV_1: f32,
N_1: vec3<f32>,
V_1: vec3<f32>,
R_1: vec3<f32>,
F0_1: vec3<f32>,
diffuseColor_1: vec3<f32>
) -> vec3<f32>

lighting__directional_light

#
fn lighting__directional_light (
roughness_6: f32,
NdotV_2: f32,
normal: vec3<f32>,
view: vec3<f32>,
R_2: vec3<f32>,
F0_2: vec3<f32>,
diffuseColor_2: vec3<f32>
) -> vec3<f32>

clustered_forward__view_z_to_z_slice

#
fn clustered_forward__view_z_to_z_slice (
view_z: f32,
is_orthographic: bool
) -> u32

clustered_forward__fragment_cluster_index

#
fn clustered_forward__fragment_cluster_index (
frag_coord_1: vec2<f32>,
view_z_1: f32,
is_orthographic_1: bool
) -> u32

clustered_forward__unpack_offset_and_counts

#
fn clustered_forward__unpack_offset_and_counts (
cluster_index: u32
) -> vec3<u32>

clustered_forward__get_light_id

#
fn clustered_forward__get_light_id (
index: u32
) -> u32

clustered_forward__cluster_debug_visualization

#
fn clustered_forward__cluster_debug_visualization (
output_color_1: vec4<f32>,
view_z_2: f32,
is_orthographic_2: bool,
offset_and_counts: vec3<u32>,
cluster_index_1: u32
) -> vec4<f32>

shadows__fetch_point_shadow

#
fn shadows__fetch_point_shadow (
light_id: u32,
frag_position: vec4<f32>,
surface_normal: vec3<f32>
) -> f32

shadows__fetch_spot_shadow

#
fn shadows__fetch_spot_shadow (
light_id_1: u32,
frag_position_1: vec4<f32>,
surface_normal_1: vec3<f32>
) -> f32

shadows__fetch_directional_shadow

#
fn shadows__fetch_directional_shadow (
light_id_2: u32,
frag_position_2: vec4<f32>,
surface_normal_2: vec3<f32>
) -> f32

pbr_functions__prepare_normal

#
fn pbr_functions__prepare_normal (
standard_material_flags: u32,
world_normal: vec3<f32>,
uv: vec2<f32>,
is_front_1: bool
) -> vec3<f32>

pbr_functions__calculate_view

#
fn pbr_functions__calculate_view (
world_position_2: vec4<f32>,
is_orthographic_3: bool
) -> vec3<f32>

pbr_functions__pbr_input_new

#
fn pbr_functions__pbr_input_new () -> pbr_functions__PbrInput

pbr_functions__pbr

#
fn pbr_functions__pbr ( ) -> vec4<f32>

pbr_functions__tone_mapping

#
fn pbr_functions__tone_mapping (
in_1: vec4<f32>
) -> vec4<f32>

fragment

#
@fragment
Calculates the final color of each pixel on the screen
fn fragment (
@builtin(front_facing)
is_front: bool,
@builtin(position)
frag_coord: vec4<f32>
) ->
@location(0)
vec4<f32>
Contents