23 lines
568 B
GLSL
23 lines
568 B
GLSL
#version 330
|
|
|
|
uniform sampler2DArray qt_Texture0;
|
|
uniform vec3 mtf_param[3];
|
|
uniform bool invert;
|
|
in vec3 qt_TexCoord0;
|
|
layout(location = 0) out vec4 color;
|
|
|
|
vec4 MTF(vec4 x, vec4 low, vec4 mid, vec4 high)
|
|
{
|
|
x = (x - low) / (high - low);
|
|
x = clamp(x, vec4(0.0), vec4(1.0));
|
|
return ((mid - 1) * x) / ((2 * mid - 1) * x - mid);
|
|
}
|
|
|
|
void main(void)
|
|
{
|
|
color = texture(qt_Texture0, qt_TexCoord0);
|
|
color = MTF(color, vec4(mtf_param[0], 0.0), vec4(mtf_param[1], 0.5), vec4(mtf_param[2], 1.0));
|
|
if(invert)color = vec4(1.0) - color;
|
|
color.a = 1.0;
|
|
}
|