specular_gi.wgsl
Import path
Constants
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
fn
trace_glossy_path
(
pixel_id:
vec2<u32>
,
primary_surface:
ResolvedGPixel
,
initial_ray_t:
f32
,
initial_wi:
vec3<f32>
,
initial_p_bounce:
f32
,
rng:
ptr<function, u32>
)
->
vec3<f32>
fn
emissive_mis_weight
(
i:
u32
,
initial_roughness:
f32
,
p_bounce:
f32
,
ray_hit:
ResolvedRayHitFull
)
->
f32
fn
nee_mis_weight
(
inverse_p_light:
f32
,
brdf_rays_can_hit:
bool
,
wo_tangent:
vec3<f32>
,
wi:
vec3<f32>
,
ray_hit:
ResolvedRayHitFull
,
TBN:
mat3x3<f32>
)
->
f32
Shader defs requirments:
š¢ DLSS_RR_GUIDE_BUFFERS
Shader defs requirments:
š¢ DLSS_RR_GUIDE_BUFFERS
fn
replace_primary_surface
(
pixel_id:
vec2<u32>
,
ray_hit:
ResolvedRayHitFull
,
mirror_rotations:
mat3x3<f32>
,
primary_surface_world_position:
vec3<f32>
)
Shader defs requirments:
š¢ DLSS_RR_GUIDE_BUFFERS
https://en.wikipedia.org/wiki/Householder_transformation