declare const _default: "\n    #include \"tonemappingPS\"\n    #include \"gammaPS\"\n\n    varying uv0: vec2f;\n    var sceneTexture: texture_2d<f32>;\n    var sceneTextureSampler: sampler;\n    uniform sceneTextureInvRes: vec2f;\n\n    #include \"composeBloomPS\"\n    #include \"composeDofPS\"\n    #include \"composeSsaoPS\"\n    #include \"composeGradingPS\"\n    #include \"composeColorEnhancePS\"\n    #include \"composeVignettePS\"\n    #include \"composeFringingPS\"\n    #include \"composeCasPS\"\n    #include \"composeColorLutPS\"\n\n    #include \"composeDeclarationsPS\"\n\n    @fragment\n    fn fragmentMain(input: FragmentInput) -> FragmentOutput {\n\n        #include \"composeMainStartPS\"\n\n        var output: FragmentOutput;\n        var uv = uv0;\n\n        let scene = textureSampleLevel(sceneTexture, sceneTextureSampler, uv, 0.0);\n        var result = scene.rgb;\n\n        // Apply CAS\n        #ifdef CAS\n            result = applyCas(result, uv, uniform.sharpness);\n        #endif\n\n        // Apply DOF\n        #ifdef DOF\n            result = applyDof(result, uv0);\n        #endif\n\n        // Apply SSAO\n        #ifdef SSAO_TEXTURE\n            result = applySsao(result, uv0);\n        #endif\n\n        // Apply Fringing\n        #ifdef FRINGING\n            result = applyFringing(result, uv);\n        #endif\n\n        // Apply Bloom\n        #ifdef BLOOM\n            result = applyBloom(result, uv0);\n        #endif\n\n        // Apply Color Enhancement (shadows, highlights, vibrance)\n        #ifdef COLOR_ENHANCE\n            result = applyColorEnhance(result);\n        #endif\n\n        // Apply Color Grading\n        #ifdef GRADING\n            result = applyGrading(result);\n        #endif\n\n        // Apply Tone Mapping\n        result = toneMap(max(vec3f(0.0), result));\n\n        // Apply Color LUT after tone mapping, in LDR space\n        #ifdef COLOR_LUT\n            result = applyColorLUT(result);\n        #endif\n\n        // Apply Vignette\n        #ifdef VIGNETTE\n            result = applyVignette(result, uv);\n        #endif\n\n        #include \"composeMainEndPS\"\n\n        // Debug output handling in one centralized location\n        #ifdef DEBUG_COMPOSE\n            #if DEBUG_COMPOSE == scene\n                result = scene.rgb;\n            #elif defined(BLOOM) && DEBUG_COMPOSE == bloom\n                result = dBloom * uniform.bloomIntensity;\n            #elif defined(DOF) && DEBUG_COMPOSE == dofcoc\n                result = vec3f(dCoc, 0.0);\n            #elif defined(DOF) && DEBUG_COMPOSE == dofblur\n                result = dBlur;\n            #elif defined(SSAO_TEXTURE) && DEBUG_COMPOSE == ssao\n                result = vec3f(dSsao);\n            #elif defined(VIGNETTE) && DEBUG_COMPOSE == vignette\n                result = vec3f(dVignette);\n            #endif\n        #endif\n\n        // Apply gamma correction\n        result = gammaCorrectOutput(result);\n\n        output.color = vec4f(result, scene.a);\n        return output;\n    }\n";
export default _default;
