Files
tenmon/image.frag
T
2020-05-17 17:59:39 +02:00

42 lines
860 B
GLSL

#version 130
uniform sampler2D qt_Texture0;
varying vec2 qt_TexCoord0;
uniform vec2 scale;
uniform float a;
uniform int stretch;
void main(void)
{
vec4 color = texture2D(qt_Texture0, qt_TexCoord0);
color = color*scale.x + scale.y;
max(color, vec4(0.0f));
switch(stretch)
{
case 0:
break;
case 1:
color = sqrt(color);
break;
case 2:
color = pow(color, vec4(a));
break;
case 3:
color = log(a*color + 1.0) / log(vec4(a+1));
break;
case 4:
{
//float l = color.r*0.2126f + color.g*0.7152f + color.b*0.0722f;
float l = (color.r+color.g+color.b)*0.33333f;
float k = asinh(l*a)/(l*asinh(a));
color *= k;
}
break;
}
//color = color*scale.x + scale.y;
//float color = pow(c, 0.4545);
gl_FragColor = color;
}