UNPKG

playcanvas

Version:

PlayCanvas WebGL game engine

3 lines (2 loc) 933 B
declare const _default: "\nvarying vUv0: vec2f;\n\nvar source: texture_2d<f32>;\nvar sourceSampler: sampler;\n\n#ifdef GAUSS\n uniform weight: array<f32, {SAMPLES}>;\n#endif\nuniform pixelOffset: vec2f;\n\n@fragment\nfn fragmentMain(input: FragmentInput) -> FragmentOutput {\n var output: FragmentOutput;\n var moments: vec3f = vec3f(0.0);\n let uv: vec2f = input.vUv0 - uniform.pixelOffset * (f32({SAMPLES}) * 0.5);\n\n for (var i: i32 = 0; i < {SAMPLES}; i = i + 1) {\n let c: vec4f = textureSample(source, sourceSampler, uv + uniform.pixelOffset * f32(i));\n\n #ifdef GAUSS\n moments = moments + c.xyz * uniform.weight[i].element;\n #else\n moments = moments + c.xyz;\n #endif\n }\n\n #ifndef GAUSS\n moments = moments * (1.0 / f32({SAMPLES}));\n #endif\n\n output.color = vec4f(moments, 1.0);\n return output;\n}\n"; export default _default;