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.
Star

Bindings

light_tile_samples

#
@group(1)
@binding(1)
var<storage, read_write> light_tile_samples: array<LightSample>

light_tile_resolved_samples

#
@group(1)
@binding(2)
var<storage, read_write> light_tile_resolved_samples: array<ResolvedLightSamplePacked>

view

#
@group(1)
@binding(12)
var<uniform> view: View

Structures

PushConstants

#
struct PushConstants {
frame_index: u32,
reset: u32,
}

ResolvedLightSamplePacked

#
struct ResolvedLightSamplePacked {
world_position_x: f32,
world_position_y: f32,
world_position_z: f32,
world_normal: u32,
radiance: u32,
inverse_pdf: f32,
}

Functions

presample_light_tiles

#
@compute
Runs custom parallel code on the GPU, not limited to graphics
@workgroup_size(1024, 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 presample_light_tiles (
@builtin(workgroup_id)
workgroup_id: vec3<u32>,
@builtin(local_invocation_index)
sample_index: u32
)

pack_resolved_light_sample

#
fn pack_resolved_light_sample ( ) -> ResolvedLightSamplePacked

unpack_resolved_light_sample

#
fn unpack_resolved_light_sample (
exposure: f32
) -> ResolvedLightSample
Contents