mirror of
https://git.adityakumar.xyz/nix-conf.git
synced 2024-11-14 00:59:44 +00:00
41 lines
1.3 KiB
C
41 lines
1.3 KiB
C
// -*- mode:c -*-
|
|
precision lowp float;
|
|
varying vec2 v_texcoord;
|
|
uniform sampler2D tex;
|
|
|
|
float distanceSquared(vec3 pixColor, vec3 solarizedColor) {
|
|
vec3 distanceVector = pixColor - solarizedColor;
|
|
return dot(distanceVector, distanceVector);
|
|
}
|
|
|
|
void main() {
|
|
vec3 solarized[16];
|
|
solarized[0] = vec3(0.,0.169,0.212);
|
|
solarized[1] = vec3(0.027,0.212,0.259);
|
|
solarized[2] = vec3(0.345,0.431,0.459);
|
|
solarized[3] = vec3(0.396,0.482,0.514);
|
|
solarized[4] = vec3(0.514,0.58,0.588);
|
|
solarized[5] = vec3(0.576,0.631,0.631);
|
|
solarized[6] = vec3(0.933,0.91,0.835);
|
|
solarized[7] = vec3(0.992,0.965,0.89);
|
|
solarized[8] = vec3(0.71,0.537,0.);
|
|
solarized[9] = vec3(0.796,0.294,0.086);
|
|
solarized[10] = vec3(0.863,0.196,0.184);
|
|
solarized[11] = vec3(0.827,0.212,0.51);
|
|
solarized[12] = vec3(0.424,0.443,0.769);
|
|
solarized[13] = vec3(0.149,0.545,0.824);
|
|
solarized[14] = vec3(0.165,0.631,0.596);
|
|
solarized[15] = vec3(0.522,0.6,0.);
|
|
|
|
vec3 pixColor = vec3(texture2D(tex, v_texcoord));
|
|
int closest = 0;
|
|
float closestDistanceSquared = distanceSquared(pixColor, solarized[0]);
|
|
for (int i = 1; i < 15; i++) {
|
|
float newDistanceSquared = distanceSquared(pixColor, solarized[i]);
|
|
if (newDistanceSquared < closestDistanceSquared) {
|
|
closest = i;
|
|
closestDistanceSquared = newDistanceSquared;
|
|
}
|
|
}
|
|
gl_FragColor = vec4(solarized[closest], 1.);
|
|
}
|