uniform lowp sampler2D u_texture0; uniform lowp sampler2D u_texture1; uniform lowp float BloomIntensity; uniform lowp float OriginalIntensity; varying vec2 v_texCoords; void main(){ vec4 original = texture2D(u_texture0, v_texCoords) * OriginalIntensity; vec4 bloom = texture2D(u_texture1, v_texCoords) * BloomIntensity; original = original * (vec4(1.0) - bloom); vec4 combined = original + bloom; float mx = min(max(combined.r, max(combined.g, combined.b)), 1.0); gl_FragColor = vec4(combined.rgb / max(mx, 0.0001), mx); }