shade 0.0.5

Another graphics library
Documentation
#version 330 core

in vec2 a_pos;
in vec2 a_uv;
in vec4 a_color;
in vec4 a_outline;

out vec2 v_uv;
out vec4 v_color;
out vec4 v_outline;

uniform mat3x2 u_transform;

vec3 srgbToLinear(vec3 c) {
	return mix(c / 12.92, pow((c + 0.055) / 1.055, vec3(2.4)), step(0.04045, c));
}

vec4 srgbToLinear(vec4 c) {
	return vec4(srgbToLinear(c.rgb), c.a);
}

void main() {
	v_uv = a_uv;
	v_color = srgbToLinear(a_color);
	v_outline = a_outline;

	vec2 pos = u_transform * vec3(a_pos, 1.0);
	gl_Position = vec4(pos, 0.0, 1.0);
}