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> ,
ddx: vec3<f32> ,
ddy: vec3<f32> ,
}

VertexOutput

#
struct VertexOutput {
position: vec4<f32> ,
world_position: vec4<f32> ,
world_normal: vec3<f32> ,
uv: vec2<f32> ,
ddx_uv: vec2<f32> ,
ddy_uv: vec2<f32> ,
world_tangent: vec4<f32> ,
mesh_flags: u32 ,
cluster_id: u32 ,
material_bind_group_slot: u32 ,
@if(PREPASS_FRAGMENT && MOTION_VECTOR_PREPASS)
motion_vector: vec2<f32> ,
}

MeshletVertex

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

Functions

compute_partial_derivatives

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

resolve_vertex_output

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

load_vertex

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

normal_local_to_world

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

calculate_world_tangent

#
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