Skip to content

Instantly share code, notes, and snippets.

@max-lv
Created May 31, 2017 13:48
Show Gist options
  • Save max-lv/e8c3d6d9b928700d0fe048529c655cb8 to your computer and use it in GitHub Desktop.
Save max-lv/e8c3d6d9b928700d0fe048529c655cb8 to your computer and use it in GitHub Desktop.
precision highp float;
varying vec3 n;
varying vec2 uv;
uniform sampler2D tex;
uniform vec2 resolution;
//#pragma include "noise2D.glsl // for snoise(vec2 v)
//#pragma include "noise3D.glsl" // for snoise(vec3 v)
//#pragma include "noise4D.glsl" // for snoise(vec4 v)
//#pragma include "cellular2D.glsl" // for cellular(vec2 P)
//#pragma include "cellular2x2.glsl" // for cellular2x2(vec2 P)
//#pragma include "cellular2x2x2.glsl" // for cellular2x2x2(vec3 P)
//#pragma include "cellular3D.glsl" // cellular(vec3 P)
void main(void)
{
// constants & options
vec2 pos = ( gl_FragCoord.xy / vec2(300.0) );
const float grads = 3.0; // oolor levels
vec3 clr[3];
clr[0] = vec3(0.0,0.0,0.0);
clr[1] = vec3(0.0,0.0,0.0);
clr[2] = vec3(1.0,1.0,1.0);
// clr[0] = vec3(1.0,0.0,0.0);
// clr[1] = vec3(0.0,1.0,0.0);
// clr[2] = vec3(0.0,0.0,1.0);
// vec3 eyeSpaceLigthDirection = vec3(0.0,0.0,1.0);
// float diffuse = max(0.0,dot(normalize(n),eyeSpaceLigthDirection));
// texture2D(tex,uv).xyz*diffuse
float gray = (texture2D(tex,uv).x + texture2D(tex,uv).y + texture2D(tex,uv).z) / 3.0;
gray = floor(gray*grads) / grads;
vec3 color = vec3(gray);
for(int i=0;i<3;i++) {
if(gray < 0.34*float(i+1) && gray >= 0.29*float(i)) {
color = clr[i];
if(i==1) {
if(mod(gl_FragCoord.x,2.0) == mod(gl_FragCoord.y,2.0)) {
color = clr[2];
}
}
}
}
// vec3(gl_FragCoord.x/300.0)
gl_FragColor = vec4( color, 1.0);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment