pub const SKY_GROUND_WGSL: &str = "\nfn sky(rd: vec3<f32>, below: vec3<f32>, above: vec3<f32>) -> vec3<f32> {\n return mix(below, above, (rd.y + 1.0) * 0.5);\n}\n\n// Box-filtered checker: Quilez, \"Filtering the checkerboard pattern\" (2013).\nfn ground_color(\n p: vec3<f32>,\n footprint: vec2<f32>,\n dark: vec3<f32>,\n light: vec3<f32>,\n checker_fade: f32,\n) -> vec3<f32> {\n let w = footprint + vec2<f32>(1.0e-3);\n let i = 2.0 * (abs(fract((p.xz - 0.5 * w) * 0.5) - 0.5) - abs(fract((p.xz + 0.5 * w) * 0.5) - 0.5)) / w;\n let alt = 0.5 - 0.5 * i.x * i.y;\n return mix(mix(dark, light, alt), 0.5 * (dark + light), checker_fade);\n}\n";Expand description
Shared with crate::raymarch::HYPERSLICE_KERNEL_WGSL.