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.

visibility_buffer_resolve.wgsl

Import path

Structures

PartialDerivatives

#
struct PartialDerivatives {
barycentrics: vec3<f32> , 🟢 MESHLET_MESH_MATERIAL_PASS
ddx: vec3<f32> , 🟢 MESHLET_MESH_MATERIAL_PASS
ddy: vec3<f32> , 🟢 MESHLET_MESH_MATERIAL_PASS
}

VertexOutput

#
struct VertexOutput {
position: vec4<f32> , 🟢 MESHLET_MESH_MATERIAL_PASS
world_position: vec4<f32> , 🟢 MESHLET_MESH_MATERIAL_PASS
world_normal: vec3<f32> , 🟢 MESHLET_MESH_MATERIAL_PASS
uv: vec2<f32> , 🟢 MESHLET_MESH_MATERIAL_PASS
ddx_uv: vec2<f32> , 🟢 MESHLET_MESH_MATERIAL_PASS
ddy_uv: vec2<f32> , 🟢 MESHLET_MESH_MATERIAL_PASS
world_tangent: vec4<f32> , 🟢 MESHLET_MESH_MATERIAL_PASS
mesh_flags: u32 , 🟢 MESHLET_MESH_MATERIAL_PASS
cluster_id: u32 , 🟢 MESHLET_MESH_MATERIAL_PASS
material_bind_group_slot: u32 , 🟢 MESHLET_MESH_MATERIAL_PASS
motion_vector: vec2<f32> , 🟢 MESHLET_MESH_MATERIAL_PASS, 🟢 PREPASS_FRAGMENT, 🟢 MOTION_VECTOR_PREPASS
}

MeshletVertex

#
struct MeshletVertex {
position: vec3<f32> , 🟢 MESHLET_MESH_MATERIAL_PASS
normal: vec3<f32> , 🟢 MESHLET_MESH_MATERIAL_PASS
uv: vec2<f32> , 🟢 MESHLET_MESH_MATERIAL_PASS
}

Functions

compute_partial_derivatives

#

Shader defs requirments:

🟢 MESHLET_MESH_MATERIAL_PASS

fn compute_partial_derivatives (
vertex_world_positions: array<vec4<f32>,3>
half_screen_size: vec2<f32>
) -> PartialDerivatives

resolve_vertex_output

#

Shader defs requirments:

🟢 MESHLET_MESH_MATERIAL_PASS

Load the visibility buffer texture and resolve it into a VertexOutput.

fn resolve_vertex_output (
frag_coord: vec4<f32>
) -> VertexOutput

load_vertex

#

Shader defs requirments:

🟢 MESHLET_MESH_MATERIAL_PASS

fn load_vertex (
vertex_id: u32
) -> MeshletVertex

normal_local_to_world

#

Shader defs requirments:

🟢 MESHLET_MESH_MATERIAL_PASS

fn normal_local_to_world (
vertex_normal: vec3<f32>
instance_uniform: ptr<function,Mesh>
) -> vec3<f32>

calculate_world_tangent

#

Shader defs requirments:

🟢 MESHLET_MESH_MATERIAL_PASS

fn calculate_world_tangent (
world_normal: vec3<f32>
ddx_world_position: vec3<f32>
ddy_world_position: vec3<f32>
) -> vec4<f32>