#[repr(C)]pub struct RtParams {
pub intensity: f32,
pub max_distance: f32,
pub tan_half_fov_y: f32,
pub aspect: f32,
pub prefilter_mip_count: f32,
pub _pad0: f32,
pub _pad1: f32,
pub _pad2: f32,
pub cam_pos: [f32; 4],
pub sun_dir: [f32; 4],
pub sun_color: [f32; 4],
pub inv_view: [[f32; 4]; 4],
}Expand description
Per-frame uniform for the hardware ray-traced reflection pass. Like
SsrParams it carries the clamped intensity / distance, the view-ray
scale used to rebuild a view-space position from the SSR pre-pass G-buffer,
and the IBL prefilter mip count for the miss fallback. Unlike SSR it traces
a world-space ray against an acceleration structure, so it also carries the
camera-to-world transform (to lift the view-space hit point + normal into
world space), the world camera position (the ray origin), and the sun
direction + colour the hit-shading uses. Pushed verbatim to the RT kernel,
so the layout must stay in sync with the RtParams struct there. 144 bytes,
16-byte aligned (every vec3 is padded to a float4).
Fields§
§intensity: f32Reflection blend strength in [0, 1]; scales the Fresnel-weighted mix.
max_distance: f32Maximum world-space distance a reflection ray travels before it misses.
tan_half_fov_y: f32tan(fov_y / 2): the vertical view-ray half-extent at unit depth.
aspect: f32Viewport aspect ratio (width / height).
prefilter_mip_count: f32IBL prefilter cubemap mip count. 0 when no EnvironmentMap is bound: the kernel then keeps the base shading for missed rays instead of a cube tap.
_pad0: f32Padding so the field layout matches the shader-side struct.
_pad1: f32Padding so the field layout matches the shader-side struct.
_pad2: f32Padding so the field layout matches the shader-side struct.
cam_pos: [f32; 4]World-space camera position (xyz); the reflection ray origin. w unused.
sun_dir: [f32; 4]World-space unit direction toward the sun (xyz); the hit-shading N·L
term uses it. w unused.
sun_color: [f32; 4]Sun radiance (xyz); the direct term at a reflected hit. w unused.
inv_view: [[f32; 4]; 4]Camera-to-world transform (column-major, the rigid inverse of the view matrix). Lifts the view-space reconstructed position + normal into the world space the acceleration structure is built in.