Project_2024-09-24_00-30-21
GLSL shader by scry · created 2024-09-24 · updated 2025-12-07 · 10s loop · 2 passes
This page opens the shader in the ShaderKit browser GLSL editor: edit it live, fork it, or render it to video, GIF or images up to 8K. Also available as a full-screen view and an embeddable player.
Shader source (GLSL)
Common
#define pi acos(-1.)
#define deg pi/180.
#define time iTime*pi/10.
#define R iResolution.xy
#define ar R.x/R.y
vec3 cs = vec3(1.,2.,3.);
mat2 r2d(float a) {
return mat2(cos(a),sin(a),-sin(a),cos(a));
}
Buffer A (iChannel0)
vec3 rgb2hsv(vec3 c){vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));vec4
q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); float d
= q.x - min(q.w, q.y);float e = 1.0e-10;return vec3(abs(q.z + (q.w -
q.y) / (6.0 * d + e)), d / (q.x + e), q.x);}vec3 hsv2rgb( vec3 c ) {
vec4 K = vec4( 1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs( fract(
c.xxx + K.xyz ) * 6.0 - K.www); return c.z * mix( K.xxx, clamp( p -
K.xxx, 0.0, 1.0), c.y);}float bitm(vec2 uv,int c) {float h = 5.;float
w = 3.;int p = int(pow(2.,w)); float line1 = 9591.; uv = floor(vec2(
uv.x*w,uv.y*h))/vec2(w,w);float c1 = 0.;float cc = uv.x + uv.y*w; c1
= mod( floor( float(c) / exp2(ceil(cc*w-0.6))) ,2.); c1 *= step( 0.,
uv.x)*step(0.,uv.y);c1 *= step(0.,(-uv.x+0.99))*step(0.,(-uv.y+1.6));
return (c1);}vec3 slogo(vec2 uv, float ar_, float size) {size = 240./
size;uv.x = 1.-uv.x;vec2 px = vec2(1./3.,1./5.); float ls = 4.1;uv *=
240./5.25/size;ls += 2.;float ul = length(uv);ul = length(vec2(uv.x*
0.5,uv.y)-0.5);uv -= 0.4;uv.x *= ar*1.75;uv.y *= 1.04;int s = 29671;
int c = 29263;int r = 31469; int y = 23186; uv.x= 5.-uv.x; float b =
bitm(uv,s); uv.x -= 1./3.*4.; b += bitm( uv,c); uv.x -= 1./3.*4.;b +=
bitm(uv,r);uv.x -= 1./3.*4.;b += bitm(uv,y);float rr = step(0.,uv.x+
px.x*13.)*step(0.,uv.y+px.y)*step(0.,(-uv.x+px.x*4.))*step(0.,(-uv.y
+px.y*6.));b = clamp(b,0.,1.);vec3 l = hsv2rgb(vec3(b+iTime/40.,0.1,
rr-b*1.9))*rr;l -= 0.1-clamp(ul*0.1,rr*1.-b,0.1);return vec3(l);}
void mainImage(out vec4 fragColor, in vec2 fragCoord)
{
vec2 uv = fragCoord.xy / iResolution.xy;
vec2 tv = uv;
uv -= 0.5;
uv.x *= ar;
vec3 col = vec3(0.);
float t = time;
//uv *= 0.2;
//uv = uv/dot(uv,uv)*0.9;
//uv.x += 2.5;
//uv = uv/dot(uv,uv);
//uv *= 0.2;
//uv = -abs(uv.yx);
//uv *= 1.2-sin(time)*0.1;
//uv *= r2d(deg*45.);
vec2 m = vec2(90.+sin(time)*8.)*1.;
float a = 0.001;
vec2 ov = uv;
for (int j=0;j<44;j++){
//uv = ov;
for (int i=0;i<8;i++) {
uv += vec2(sin(uv.y*m.x),cos(uv.x*m.y))*a*0.45;
//uv *= 1.0;
uv *= r2d(deg*45.);
//uv *= r2d(deg*float(j+1)*uv.y*10.*(mod(i,2)-0.5));
//uv += 0.002;
//col += sin(uv.x*pi*30.+pi/-3.)*0.5+0.5;
//uv *= 3.5;
}
//uv = abs(uv);
//ov = abs(ov)-0.2;
uv *= r2d(deg*45.*1.);
//ov *= r2d(deg*180.);
//uv = mix(uv,ov,uv.y*0.25);
//uv *= r2d((mod(j,2.)-0.5)*3.*3.-t*0.01);
//uv *= 24.3;
//uv.y -= uv.y*0.5*sin(3.+time);
//uv.y -= 0.01;
//uv += vec2(sin(time+sin(ov.x*4.-t)*1.5),cos(time+sin(ov.y*4.+t)*1.5))*0.012;
//uv *= r2d(deg*160.);
col += sin(uv.x*(12.+float(j)*0.)+time*0.+13.+vec3(1.,2.,3.25+length(uv)*4.)+float(j)*2.2)*0.9+0.5;
//col += sin(col*3.-1.5)*0.4;
}
col *= 1./8.;
col -= 1.;
//col *= 9.;
//col -= 4.2;
vec3 fcol = vec3(0.);
//col *= 0.2;
//col += sin(col*0.5);
//col *= 0.2;
//col += sin(uv.y*pi*2.+pi/2.)*0.8;
//col *= 0.25;
col *= 0.4;
col += sin(length(uv)*69.)*0.2;
//col += sin(uv.x*pi*19.);
//col = sin(sin(uv.y*80.)*1.+uv.x*4.+vec3(1.,2.,3.));
//col = sin(col*3.-1.5);
//col = rgb2hsv(col);
//fcol = rgb2hsv(col);
//fcol.x *= 4.;
//fcol.x += t;
//fcol.y *= 2.;
//fcol = hsv2rgb(fcol);
//col = hsv2rgb(fcol)*(fcol.y*0.5);
//col = rgb2hsv(col);
//col.x *= 0.5;
//col.x += -t;;
//col.z *= 1.;
//col.y = col.z*2.;
//col.z *= 2.;
//col.z -= 0.15;
//col.y *= 1.+col.z*2.;
//col = hsv2rgb(col);
//fcol += smoothstep(0.15,0.,col.xyz-0.4)*0.7;
//col = col*1.5;
//col += smoothstep(0.5,0.,length(uv));
//col += smoothstep(0.45,0.,length(uv+vec2(0.,0.2))+uv.y*0.2);
//col = (sin(col*pi*4.+vec3(1.,2.,3.))*0.5+0.5)*(col*2.+0.);
//col += sin(uv.x*4.+sin(time)*2.+vec3(1.,2.,3.))*0.5+0.5;
col += slogo(tv,1.,300./1.)*(sin(vec3(0.6+tv.x*20.))*0.4+0.6)*0.2;
fragColor = vec4(col,1.0);
}
Image
Not used
More shaders by scry
- Project_2026-08-15_18-22-06
- Project_2026-08-14_16-45-00
- Project_2026-07-24_15-10-23
- Project_2026-07-15_03-18-26
- Glass of Orange Juice (raymarched)
- Project_2026-07-13_00-53-50
- Project_2026-07-10_16-39-54
- Popcorn ceiling
- Project_2026-06-20_15-32-19
- Project_2026-06-25_12-22-43
- Visual Enhancer
- Project_2026-06-24_11-11-39
Browse all public shaders · All shaders by scry · ShaderKit home
Unread comments
×Projects with new comments. Click to open and read.