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.

Bindings

offsets_and_counts

#
@group(0)
@binding(0)
var<storage, read_write> offsets_and_counts: ClusterOffsetsAndCounts

lights

#
@group(0)
@binding(1)
var<uniform> lights: Lights

clustering_metadata

#
@group(0)
@binding(2)
var<storage, read_write> clustering_metadata: ClusterMetadata

scratchpad_offsets_and_counts

#
@group(0)
@binding(3)
var<storage, read_write> scratchpad_offsets_and_counts: ClusterOffsetsAndCounts

Functions

allocate_local_main

#
@compute
Runs custom parallel code on the GPU, not limited to graphics
@workgroup_size(256, 1, 1)
Defines the size of a thread group. One to three numbers: width (x), height (y), and depth (z). Missing values default to 1
fn allocate_local_main (
@builtin(local_invocation_id)
local_id: vec3<u32>
, 
@builtin(workgroup_id)
group_id: vec3<u32>
, 
@builtin(global_invocation_id)
global_id: vec3<u32>
)

allocate_global_main

#
@compute
Runs custom parallel code on the GPU, not limited to graphics
@workgroup_size(256, 1, 1)
Defines the size of a thread group. One to three numbers: width (x), height (y), and depth (z). Missing values default to 1
fn allocate_global_main (
@builtin(local_invocation_id)
local_id: vec3<u32>
)

cluster_object_count

#

The per-type counts are laid out as: [0] = (offset, point lights, spot lights, rect lights) [1] = (reflection probes, irradiance volumes, decals, pad)

fn cluster_object_count (
cluster_index: u32
) -> u32
Contents