forked from Mirrorlandia_minetest/minetest
9df79a4b2d
Adds configurable light exposure control and bloom effect (light bleeding) with client-side settings.
22 lines
526 B
GLSL
22 lines
526 B
GLSL
#define rendered texture0
|
|
|
|
uniform sampler2D rendered;
|
|
uniform mediump float exposureFactor = 2.5;
|
|
uniform float bloomLuminanceThreshold = 1.0;
|
|
|
|
#ifdef GL_ES
|
|
varying mediump vec2 varTexCoord;
|
|
#else
|
|
centroid varying vec2 varTexCoord;
|
|
#endif
|
|
|
|
|
|
void main(void)
|
|
{
|
|
vec2 uv = varTexCoord.st;
|
|
vec4 color = texture2D(rendered, uv).rgba;
|
|
// translate to linear colorspace (approximate)
|
|
color.rgb = pow(color.rgb, vec3(2.2)) * exposureFactor;
|
|
gl_FragColor = vec4(color.rgb, 1.0); // force full alpha to avoid holes in the image.
|
|
}
|