19 lines
461 B
GLSL
19 lines
461 B
GLSL
in vec2 vert;
|
|
in vec4 color;
|
|
|
|
out vec4 frag_color;
|
|
|
|
vec4 linear_to_srgb(vec4 linear_color) {
|
|
vec3 linear = linear_color.rgb;
|
|
vec3 selector = ceil(linear - 0.0031308);
|
|
vec3 less_than_branch = linear * 12.92;
|
|
vec3 greater_than_branch = pow(linear, vec3(1.0/2.4)) * 1.055 - 0.055;
|
|
return vec4(
|
|
mix(less_than_branch, greater_than_branch, selector),
|
|
linear_color.a
|
|
);
|
|
}
|
|
|
|
void main() {
|
|
frag_color = linear_to_srgb(color);
|
|
} |