playcanvas
Version:
Open-source WebGL/WebGPU 3D engine for the web
3 lines (2 loc) • 2.86 kB
TypeScript
declare const _default: "\n #include \"tonemappingPS\"\n #include \"gammaPS\"\n\n varying vec2 uv0;\n uniform sampler2D sceneTexture;\n uniform vec2 sceneTextureInvRes;\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 void main() {\n\n #include \"composeMainStartPS\"\n\n vec2 uv = uv0;\n\n vec4 scene = texture2DLod(sceneTexture, uv, 0.0);\n vec3 result = scene.rgb;\n\n // Apply CAS\n #ifdef CAS\n result = applyCas(result, uv, 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(vec3(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 * bloomIntensity;\n #elif defined(DOF) && DEBUG_COMPOSE == dofcoc\n result = vec3(dCoc, 0.0);\n #elif defined(DOF) && DEBUG_COMPOSE == dofblur\n result = dBlur;\n #elif defined(SSAO_TEXTURE) && DEBUG_COMPOSE == ssao\n result = vec3(dSsao);\n #elif defined(VIGNETTE) && DEBUG_COMPOSE == vignette\n result = vec3(dVignette);\n #endif\n #endif\n\n // Apply gamma correction\n result = gammaCorrectOutput(result);\n\n gl_FragColor = vec4(result, scene.a);\n }\n";
export default _default;