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.

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 AND PREPASS_FRAGMENT AND 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

#
Active when
MESHLET_MESH_MATERIAL_PASS
fn compute_partial_derivatives (
vertex_world_positions: array<vec4<f32>, 3>,
ndc_uv: vec2<f32>,
half_screen_size: vec2<f32>
) -> PartialDerivatives

resolve_vertex_output

#
Active when
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

#
Active when
MESHLET_MESH_MATERIAL_PASS
fn load_vertex (
meshlet: ptr<function, Meshlet>,
vertex_id: u32
) -> MeshletVertex

normal_local_to_world

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

calculate_world_tangent

#
Active when
MESHLET_MESH_MATERIAL_PASS
fn calculate_world_tangent (
world_normal: vec3<f32>,
ddx_world_position: vec3<f32>,
ddy_world_position: vec3<f32>,
ddx_uv: vec2<f32>,
ddy_uv: vec2<f32>
) -> vec4<f32>
Contents