Mercurial > hg > forks > bilotrip-mj12
view data/shaders/fsquad.fs @ 0:785057719d9b
Import.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 05 Aug 2013 12:25:43 +0300 |
parents | |
children |
line wrap: on
line source
/* Fragment shader */ uniform float width; uniform float height; uniform float time; uniform sampler2D texture0; uniform float alpha; uniform float gamma; uniform float grid; uniform float tvmode; uniform float alphamode; void main() { vec4 color = texture2D(texture0, vec2(gl_FragCoord.x/width, gl_FragCoord.y/height)); if (alphamode == 0) color.a = alpha; if (gamma > 0.0) color.rgb*=gamma; float off = 0.0; if (grid > 0.0) { vec3 col = vec3(0.0,0.0,0.0); float off = -time*2.0; //really light lines col.g += clamp(ceil(mod(gl_FragCoord.x+off, 5.0)) - 4.0, 4.0, 1.0) * (0.05*grid); col.g += clamp(ceil(mod(gl_FragCoord.y+off, 5.0)) - 4.0, 0.0, 1.0) * (0.05*grid); col.g = clamp(col.g, 0.0, (0.15*grid)); //light lines col.g += clamp(ceil(mod(gl_FragCoord.x+off, 15.0)) - 14.0, 0.0, 1.0) * (0.25*grid); col.g += clamp(ceil(mod(gl_FragCoord.y+off, 15.0)) - 14.0, 0.0, 1.0) * (0.25*grid); col.g = clamp(col.g, 0.0, (0.25*grid)); //strong lines col.g += clamp(ceil(mod(gl_FragCoord.x+off, 30.0)) - 29.0, 0.0, (1.0*grid)); col.g += clamp(ceil(mod(gl_FragCoord.y+off, 30.0)) - 29.0, 0.0, (1.0*grid)); col.g = clamp(col.g, 0.0, (1.0*grid)); if (((color.r + color.b + color.g) / 3.0) > 0.1) { if (color.r / col.g < 0.2) color = vec4(0.0,0.0,0.0,0.0); } else color.rgb -= col.g*(0.5*cos(time*0.1+(gl_FragCoord.x+gl_FragCoord.y))); } gl_FragColor = color; }