playcanvas
Version:
Open-source WebGL/WebGPU 3D engine for the web
77 lines (76 loc) • 2.06 kB
JavaScript
var compose_default = `
varying uv0: vec2f;
var sceneTexture: texture_2d<f32>;
var sceneTextureSampler: sampler;
uniform sceneTextureInvRes: vec2f;
@fragment
fn fragmentMain(input: FragmentInput) -> FragmentOutput {
var output: FragmentOutput;
var uv = uv0;
let scene = textureSampleLevel(sceneTexture, sceneTextureSampler, uv, 0.0);
var result = scene.rgb;
result = applyCas(result, uv, uniform.sharpness);
result = applyDof(result, uv0);
result = applySsao(result, uv0);
result = applyFringing(result, uv);
result = applyBloom(result, uv0);
result = applyColorEnhance(result);
result = applyGrading(result);
result = toneMap(max(vec3f(0.0), result));
result = applyColorLUT(result);
result = applyVignette(result, uv);
result = scene.rgb;
result = dBloom * uniform.bloomIntensity;
result = vec3f(dCoc, 0.0);
result = dBlur;
result = vec3f(dSsao);
result = vec3f(dVignette);
result = gammaCorrectOutput(result);
output.color = vec4f(result, scene.a);
return output;
}
`;
export {
compose_default as default
};