Skip to main content

EPISTEMIC_WGSL

Constant EPISTEMIC_WGSL 

Source
pub const EPISTEMIC_WGSL: &str = "// Epistemic fragment shader \u{2014} certainty / q-state LOD (pairs with projector pass)\n\nstruct FragmentInput {\n    @location(0) color: vec4<f32>,\n    @location(1) world_position: vec3<f32>,\n}\n\nstruct FragmentOutput {\n    @location(0) color: vec4<f32>,\n}\n\n@group(0) @binding(3)\nvar<uniform> epistemic_params: EpistemicParams;\n\nstruct EpistemicParams {\n    confidence: f32,\n    intensity: f32,\n    _pad: vec2<f32>,\n}\n\nfn epistemic_lod(base_color: vec4<f32>, confidence: f32, intensity: f32) -> vec4<f32> {\n    let certainty_opacity = mix(0.3, 1.0, confidence);\n    let intensity_factor = mix(0.5, 1.0, intensity);\n    return vec4<f32>(\n        base_color.rgb * intensity_factor,\n        base_color.a * certainty_opacity\n    );\n}\n\n@fragment\nfn fragment_main(input: FragmentInput) -> FragmentOutput {\n    var output: FragmentOutput;\n    output.color = epistemic_lod(\n        input.color,\n        epistemic_params.confidence,\n        epistemic_params.intensity\n    );\n    return output;\n}";