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

CENTIMETERS_PER_METER

#
const CENTIMETERS_PER_METER: AbstractFloat = 100.0

Bindings

meshlet_instance_meshlet_counts

#
Used by 1 shader in bevy_pbr 0.15.3
Active when
MESHLET_FILL_CLUSTER_BUFFERS_PASS
@group(0)
@binding(0)
var<storage, read> meshlet_instance_meshlet_counts: array<u32>

meshlet_instance_meshlet_slice_starts

#
Used by 1 shader in bevy_pbr 0.15.3
Active when
MESHLET_FILL_CLUSTER_BUFFERS_PASS
@group(0)
@binding(1)
var<storage, read> meshlet_instance_meshlet_slice_starts: array<u32>

meshlet_cluster_instance_ids

#
Active when
MESHLET_FILL_CLUSTER_BUFFERS_PASS
@group(0)
@binding(2)
var<storage, read_write> meshlet_cluster_instance_ids: array<u32>
Active when
MESHLET_CULLING_PASS
@group(0)
@binding(3)
var<storage, read> meshlet_cluster_instance_ids: array<u32>
Active when
MESHLET_VISIBILITY_BUFFER_RASTER_PASS
@group(0)
@binding(4)
var<storage, read> meshlet_cluster_instance_ids: array<u32>
Active when
MESHLET_MESH_MATERIAL_PASS
@group(1)
@binding(7)
var<storage, read> meshlet_cluster_instance_ids: array<u32>

meshlet_cluster_meshlet_ids

#
Active when
MESHLET_FILL_CLUSTER_BUFFERS_PASS
@group(0)
@binding(3)
var<storage, read_write> meshlet_cluster_meshlet_ids: array<u32>
Active when
MESHLET_CULLING_PASS
@group(0)
@binding(0)
var<storage, read> meshlet_cluster_meshlet_ids: array<u32>
Active when
MESHLET_VISIBILITY_BUFFER_RASTER_PASS
@group(0)
@binding(0)
var<storage, read> meshlet_cluster_meshlet_ids: array<u32>
Active when
MESHLET_MESH_MATERIAL_PASS
@group(1)
@binding(1)
var<storage, read> meshlet_cluster_meshlet_ids: array<u32>

meshlet_global_cluster_count

#
Used by 1 shader in bevy_pbr 0.15.3
Active when
MESHLET_FILL_CLUSTER_BUFFERS_PASS
@group(0)
@binding(4)
var<storage, read_write> meshlet_global_cluster_count: atomic<u32>

meshlet_bounding_spheres

#
Used by 1 shader in bevy_pbr 0.15.3
Active when
MESHLET_CULLING_PASS
@group(0)
@binding(1)
var<storage, read> meshlet_bounding_spheres: array<MeshletBoundingSpheres>

meshlet_simplification_errors

#
Used by 1 shader in bevy_pbr 0.15.3
Active when
MESHLET_CULLING_PASS
@group(0)
@binding(2)
var<storage, read> meshlet_simplification_errors: array<u32>

meshlet_instance_uniforms

#
Active when
MESHLET_CULLING_PASS
@group(0)
@binding(4)
var<storage, read> meshlet_instance_uniforms: array<Mesh>
Active when
MESHLET_VISIBILITY_BUFFER_RASTER_PASS
@group(0)
@binding(5)
var<storage, read> meshlet_instance_uniforms: array<Mesh>
Active when
MESHLET_MESH_MATERIAL_PASS
@group(1)
@binding(8)
var<storage, read> meshlet_instance_uniforms: array<Mesh>

meshlet_view_instance_visibility

#
Active when
MESHLET_CULLING_PASS
@group(0)
@binding(5)
var<storage, read> meshlet_view_instance_visibility: array<u32>

meshlet_second_pass_candidates

#
Used by 1 shader in bevy_pbr 0.15.3
Active when
MESHLET_CULLING_PASS
@group(0)
@binding(6)
var<storage, read_write> meshlet_second_pass_candidates: array<atomic<u32>>

meshlet_software_raster_indirect_args

#
Used by 1 shader in bevy_pbr 0.15.3
Active when
MESHLET_CULLING_PASS
@group(0)
@binding(7)
var<storage, read_write> meshlet_software_raster_indirect_args: DispatchIndirectArgs

meshlet_hardware_raster_indirect_args

#
Used by 1 shader in bevy_pbr 0.15.3
Active when
MESHLET_CULLING_PASS
@group(0)
@binding(8)
var<storage, read_write> meshlet_hardware_raster_indirect_args: DrawIndirectArgs

meshlet_raster_clusters

#
Active when
MESHLET_CULLING_PASS
@group(0)
@binding(9)
var<storage, read_write> meshlet_raster_clusters: array<u32>
Active when
MESHLET_VISIBILITY_BUFFER_RASTER_PASS
@group(0)
@binding(6)
var<storage, read> meshlet_raster_clusters: array<u32>

depth_pyramid

#
Used by 1 shader in bevy_pbr 0.15.3
Active when
MESHLET_CULLING_PASS
@group(0)
@binding(10)
var depth_pyramid: texture_2d<f32>

view

#
Active when
MESHLET_CULLING_PASS
@group(0)
@binding(11)
var<uniform> view: View
Active when
MESHLET_VISIBILITY_BUFFER_RASTER_PASS
@group(0)
@binding(9)
var<uniform> view: View

previous_view

#
Used by 1 shader in bevy_pbr 0.15.3
Active when
MESHLET_CULLING_PASS
@group(0)
@binding(12)
var<uniform> previous_view: PreviousViewUniforms

meshlets

#
Active when
MESHLET_VISIBILITY_BUFFER_RASTER_PASS
@group(0)
@binding(1)
var<storage, read> meshlets: array<Meshlet>
Active when
MESHLET_MESH_MATERIAL_PASS
@group(1)
@binding(2)
var<storage, read> meshlets: array<Meshlet>

meshlet_indices

#
Active when
MESHLET_VISIBILITY_BUFFER_RASTER_PASS
@group(0)
@binding(2)
var<storage, read> meshlet_indices: array<u32>
Active when
MESHLET_MESH_MATERIAL_PASS
@group(1)
@binding(3)
var<storage, read> meshlet_indices: array<u32>

meshlet_vertex_positions

#
Active when
MESHLET_VISIBILITY_BUFFER_RASTER_PASS
@group(0)
@binding(3)
var<storage, read> meshlet_vertex_positions: array<u32>
Active when
MESHLET_MESH_MATERIAL_PASS
@group(1)
@binding(4)
var<storage, read> meshlet_vertex_positions: array<u32>

meshlet_software_raster_cluster_count

#
Active when
MESHLET_VISIBILITY_BUFFER_RASTER_PASS
@group(0)
@binding(7)
var<storage, read> meshlet_software_raster_cluster_count: u32

meshlet_visibility_buffer

#
Active when
MESHLET_VISIBILITY_BUFFER_RASTER_PASS AND MESHLET_VISIBILITY_BUFFER_RASTER_PASS_OUTPUT
@group(0)
@binding(8)
var<storage, read_write> meshlet_visibility_buffer: array<atomic<u64>>
Active when
MESHLET_VISIBILITY_BUFFER_RASTER_PASS AND !MESHLET_VISIBILITY_BUFFER_RASTER_PASS_OUTPUT
@group(0)
@binding(8)
var<storage, read_write> meshlet_visibility_buffer: array<atomic<u32>>
Active when
MESHLET_MESH_MATERIAL_PASS
@group(1)
@binding(0)
var<storage, read> meshlet_visibility_buffer: array<u64>

meshlet_vertex_normals

#
Active when
MESHLET_MESH_MATERIAL_PASS
@group(1)
@binding(5)
var<storage, read> meshlet_vertex_normals: array<u32>

meshlet_vertex_uvs

#
Active when
MESHLET_MESH_MATERIAL_PASS
@group(1)
@binding(6)
var<storage, read> meshlet_vertex_uvs: array<vec2<f32>>

Structures

Meshlet

#
Used by 1 shader in bevy_pbr 0.15.3
struct Meshlet {
start_vertex_position_bit: u32,
start_vertex_attribute_id: u32,
start_index_id: u32,
packed_a: u32,
packed_b: u32,
min_vertex_position_channel_x: f32,
min_vertex_position_channel_y: f32,
min_vertex_position_channel_z: f32,
}

MeshletBoundingSpheres

#
struct MeshletBoundingSpheres {
culling_sphere: MeshletBoundingSphere,
lod_group_sphere: MeshletBoundingSphere,
lod_parent_group_sphere: MeshletBoundingSphere,
}

MeshletBoundingSphere

#
Used by 1 shader in bevy_pbr 0.15.3
struct MeshletBoundingSphere {
center: vec3<f32>,
radius: f32,
}

DispatchIndirectArgs

#
struct DispatchIndirectArgs {
x: atomic<u32>,
y: u32,
z: u32,
}

DrawIndirectArgs

#
struct DrawIndirectArgs {
vertex_count: u32,
instance_count: atomic<u32>,
first_vertex: u32,
first_instance: u32,
}

Constants

#
struct Constants {
scene_cluster_count: u32, MESHLET_CULLING_PASS
meshlet_raster_cluster_rightmost_slot: u32, MESHLET_CULLING_PASS
}

Functions

get_meshlet_vertex_count

#
fn get_meshlet_vertex_count (
meshlet: ptr<function, Meshlet>
) -> u32

get_meshlet_triangle_count

#
fn get_meshlet_triangle_count (
meshlet: ptr<function, Meshlet>
) -> u32

should_cull_instance

#
Used by 1 shader in bevy_pbr 0.15.3
Active when
MESHLET_CULLING_PASS
fn should_cull_instance (
instance_id: u32
) -> bool

cluster_is_second_pass_candidate

#
Used by 1 shader in bevy_pbr 0.15.3
Active when
MESHLET_CULLING_PASS
fn cluster_is_second_pass_candidate (
cluster_id: u32
) -> bool

get_meshlet_vertex_id

#
Active when
MESHLET_VISIBILITY_BUFFER_RASTER_PASS
fn get_meshlet_vertex_id (
index_id: u32
) -> u32
Active when
MESHLET_MESH_MATERIAL_PASS
fn get_meshlet_vertex_id (
index_id: u32
) -> u32

get_meshlet_vertex_position

#
Active when
MESHLET_VISIBILITY_BUFFER_RASTER_PASS
fn get_meshlet_vertex_position (
meshlet: ptr<function, Meshlet>,
vertex_id: u32
) -> vec3<f32>
Active when
MESHLET_MESH_MATERIAL_PASS
fn get_meshlet_vertex_position (
meshlet: ptr<function, Meshlet>,
vertex_id: u32
) -> vec3<f32>

get_meshlet_vertex_normal

#
Used by 1 shader in bevy_pbr 0.15.3
Active when
MESHLET_MESH_MATERIAL_PASS
fn get_meshlet_vertex_normal (
meshlet: ptr<function, Meshlet>,
vertex_id: u32
) -> vec3<f32>

get_meshlet_vertex_uv

#
Used by 1 shader in bevy_pbr 0.15.3
Active when
MESHLET_MESH_MATERIAL_PASS
fn get_meshlet_vertex_uv (
meshlet: ptr<function, Meshlet>,
vertex_id: u32
) -> vec2<f32>
Contents