UNPKG

playcanvas

Version:

Open-source WebGL/WebGPU 3D engine for the web

3 lines (2 loc) 3.07 kB
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;