#version 300 es precision highp float; // highp: fullscreen UV addressing (mediump fp16 is not enough on mobile) in vec2 vTexCoord; uniform mediump sampler2D u_tex; // scene uniform mediump sampler2D u_bloom; uniform float u_intensity; out vec4 fragColor; void main() { vec3 scene = texture(u_tex, vTexCoord).rgb; vec3 bloom = texture(u_bloom, vTexCoord).rgb; fragColor = vec4(scene + bloom * u_intensity, 1.0); }