ssao.wgsl

Bindings
@group(0)
@binding(0)
var
preprocessed_depth:
texture_2d<f32>
@group(0)
@binding(1)
var
normals:
texture_2d<f32>
@group(0)
@binding(2)
var
hilbert_index_lut:
texture_2d<u32>
@group(0)
@binding(3)
var
ambient_occlusion:
texture_storage_2d<r16float, write>
@group(0)
@binding(4)
var
depth_differences:
texture_storage_2d<r32uint, write>
Functions
@compute
Runs custom parallel code on the GPU, not limited to graphics
@workgroup_size(8, 8, 1)
Defines the size of a thread group. One to three numbers: width (x), height (y), and depth (z). Missing values default to 1
Calculate differences in depth between neighbor pixels (later used by the spatial denoiser pass to preserve object edges)