radar-gi/shaders/hello.vert
2024-07-22 21:55:59 +08:00

24 lines
625 B
GLSL

layout(location = 0) in vec3 vertex;
uniform mat4 projection;
uniform mat4 view;
out vec2 vert;
out vec4 color;
vec4 srgb_to_linear(vec4 srgb_color) {
// Calcuation as documented by OpenGL
vec3 srgb = srgb_color.rgb;
vec3 selector = ceil(srgb - 0.04045);
vec3 less_than_branch = srgb / 12.92;
vec3 greater_than_branch = pow((srgb + 0.055) / 1.055, vec3(2.4));
return vec4(
mix(less_than_branch, greater_than_branch, selector),
srgb_color.a
);
}
void main() {
vert = vec2(vertex.xy);
color = srgb_to_linear(vec4(vert, 0.5, 1.0));
gl_Position = vec4(vert, 0.0, 1.0);
}