playcanvas
Version:
PlayCanvas WebGL game engine
72 lines (70 loc) • 1.87 kB
JavaScript
var composePS = `
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;
uv.y = 1.0 - uv.y;
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 = applyGrading(result);
result = toneMap(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 { composePS as default };