github.com/cybriq/giocore@v0.0.7-0.20210703034601-cfb9cb5f3900/gpu/shaders/copy.frag (about)

     1  #version 310 es
     2  
     3  // SPDX-License-Identifier: Unlicense OR MIT
     4  
     5  precision highp float;
     6  
     7  layout(location = 0) out vec4 fragColor;
     8  
     9  layout(binding = 0) uniform sampler2D tex;
    10  
    11  precision mediump float;
    12  
    13  vec3 sRGBtoRGB(vec3 rgb) {
    14  	bvec3 cutoff = greaterThanEqual(rgb, vec3(0.04045));
    15  	vec3 below = rgb/vec3(12.92);
    16  	vec3 above = pow((rgb + vec3(0.055))/vec3(1.055), vec3(2.4));
    17  	return mix(below, above, cutoff);
    18  }
    19  
    20  void main() {
    21  	vec4 texel = texelFetch(tex, ivec2(gl_FragCoord.xy), 0);
    22  	vec3 rgb = sRGBtoRGB(texel.rgb);
    23  	fragColor = vec4(rgb, texel.a);
    24  }