playcanvas
Version:
PlayCanvas WebGL game engine
27 lines (25 loc) • 592 B
JavaScript
var blurVSMPS = `
varying vec2 vUv0;
uniform sampler2D source;
uniform vec2 pixelOffset;
uniform float weight[{SAMPLES}];
void main(void) {
vec3 moments = vec3(0.0);
vec2 uv = vUv0 - pixelOffset * (float({SAMPLES}) * 0.5);
for (int i = 0; i < {SAMPLES}; i++) {
vec4 c = texture2D(source, uv + pixelOffset * float(i));
moments += c.xyz * weight[i];
moments += c.xyz;
}
moments *= 1.0 / float({SAMPLES});
gl_FragColor = vec4(moments.x, moments.y, moments.z, 1.0);
}
`;
export { blurVSMPS as default };