Xor
banner
xordev.com
Xor
@xordev.com
Shaderboy
xordev.com
Pinned
Xor @xordev.com · Sep 4
"Fragments"
vec3 p;
for(float i,z,f;i++<3e1;z+=f=.003+abs(length(p.xy)-5.+dot(cos(p),sin(p).yzx))/8.,o+=(1.+sin(i*.3+z+t+vec4(6,1,2,0)))/f)
for(p=z*normalize(FC.rgb*2.-r.xyy),p.z-=t,f=1.;f++<6.;p+=sin(round(p.yxz*PI2)/PI*f)/f);
o=tanh(o/1e3);
CYBERSPACE 2
for(float i,z,d;z+i++<7e1;o+=vec4(z,1,9,1)/d)
{vec3 p=abs(z*normalize(FC.rgb*2.-r.xyy));p.z+=t*5.;p+=sin(p+p);for(d=0.;d++<9.;p+=.4*cos(round(.2*d*p)+.2*t).zxy);z+=d=.1*sqrt(length(p.xyy*p.yxy));}
o=tanh(o/7e3);
November 5, 2025 at 9:21 PM
CYBERSPACE
for(float i,z,d;z+i++<8e1;o+=vec4(z,4,1,1)/d)
{vec3 p=z*normalize(FC.rgb*2.-r.xyy);p.z+=t/.1;p-=sin(p+p);for(d=0.;d++<9.;p+=.7*cos(round(.2*d*p)+t*.5).zxy);z+=d=.1*sqrt(length(p.xyy*p.yxy));}
o=tanh(o/5e3);
November 5, 2025 at 9:03 PM
Whirl
for(float i,z,d,h;i++<8e1;o+=vec4(9,5,h+t,1)/d)
{vec3 p=z*normalize(FC.rgb*2.-r.xyy),a;p.z+=9.;a=mix(dot(a+=.5,p)*a,p,sin(h=dot(p,p/p)-t))+cos(h)*cross(a,p);
for(d=0.;d++<9.;a+=.3*sin(a*d).zxy);z+=d=length(a.xz)/15.;}
o=tanh(o/1e4);
November 5, 2025 at 2:03 PM
Fun little pattern:

vec2 p=(FC.xy*2.-r)/r.y*2e1;
o=tanh(vec4(1,1,2,1)/length(p*.2+tan(sin(p+=t).yx+p)));
November 4, 2025 at 2:14 PM
Repulser
for(float i,z,d,h;i++<4e1;o+=vec4(h,1,4,1)/d){vec3 p=z*normalize(FC.rgb*2.-r.xyy),a;a.y++;p.z+=6.;a=mix(dot(a,p)*a,p,sin(h=t-length(p*p.yzx)))+cos(h)*cross(a,p);for(d=0.;d++<9.;a-=cos(round(a*d)+t).zxy/d);z+=d=.1*length(a.xz);h=p.y+4.;}o=tanh(o/2e3);
November 3, 2025 at 10:41 PM
Reposted by Xor
Hey #GameMaker devs!

Did you know 50% of your game is already done? You shouldn't be spending time in coding your own complex systems or getting headaches with perplexing shaders. So we present…

LIST OF FREE GAMEMAKER RESOURCES, SHADERS AND SCRIPTS

RT to save a live!

#indiegame #gamedev
October 30, 2025 at 9:01 AM
Reposted by Xor
@xordev.com develops insane shaders specialised in procedural generation.
They have a page dedicated to tutorials. If this is your kind of thing or it can match with your game’s aesthetic, don’t miss out.

mini.gmshaders.com
October 30, 2025 at 9:01 AM
Depth
vec3 p,v=vec3(1,2,1);for(float d,i,z;i++<4e1;o+=(cos(i/4.+vec4(2,1,6,0))+1.)/d/d)p=z*normalize(FC.rgb*2.-r.xyy),d=abs(z-3.+cos(t)/.7)/2e1,z+=d=.6*max(d,length(abs(fract(p/v)-.5)*v-.1)-d);o=tanh(o/3e4);
October 29, 2025 at 3:18 PM
Merge
vec3 p;for(float d,i,z;i++<5e1;o+=(cos(z+vec4(2,1,0,0))+1.)/d/z)
p=z*normalize(FC.rgb*2.-r.xyy),p.z+=t,d=abs(.04*z-.4),z+=d=.4*max(d,length(min(p=cos(p+z),p.yzx))-d);o=tanh(o*o/6e3);
October 28, 2025 at 11:40 PM
Chords
vec3 p;for(float d,i,z;i++<5e1;o+=(cos(i/9.+vec4(2,1,0,0))+1.)/d/z)
p=z*normalize(FC.rgb*2.-r.xyy),p.z-=t,d=abs(.01*z-.1),z+=d=max(d,.5*length(vec2(3.-abs(p.y)+dot(cos(p+.3*t),sin(.3*t-.6*p.yzx)),cos(p/.3-p.z)*.3))-d);
o=tanh(o/8e1);
October 27, 2025 at 2:19 PM
Square bokeh
October 27, 2025 at 1:46 PM
Bitdumb 4

vec2 p=.5*(FC.xy-.5*r)/r.y,v;for(float i;i++<6.;o+=fract(length(round(p))/exp2(i/4.)-t*.5)*vec4(.1/abs(fract(p)-.5).yxx/i,1)*(1.-o.a))p*=mat2(2,2,-2,2);o=tanh(o*o+dot(o,o)/1e2);
October 24, 2025 at 2:58 PM
Bitdumb 3

vec2 p=(FC.xy-.5*r)/r.y,v;for(float i;i++<6.;o+=fract(length(round(p))/exp2(i)-t*.5)*vec4(.04/abs(fract(p)-.5).xxy,1)*(1.-o.a))p+=p;o=tanh(o*o+dot(o,o)/1e2);
October 24, 2025 at 2:51 PM
Bitdumb 2

vec2 p=(FC.xy-.5*r)/r.y,v;for(float i;i++<20.;o+=vec4(.03/abs(fract(p)-.5).xyx,fract(t*.2+length(round(p)+i)/i))*(1.-o.a))p+=vec2(p.y,-p);o=tanh(o*o+dot(o,o)/1e2);
October 24, 2025 at 2:50 PM
Bitdumb
vec2 p=(round(FC.xy)-.5*r)/r.y,v;for(float i;i++<20.;o+=vec4(fwidth(v=ceil(p)).xyy,fract(length(v)/i-t*.2))*(1.-o.a))p+=p;
October 24, 2025 at 2:23 PM
Aperture 2
vec3 p;
for(float d,i,z;i++<1e2;o+=(cos(z+vec4(0,1,2,0))+1.5)/d/z)
p=z*normalize(FC.rgb*2.-r.xyy),p.z-=t,d=abs(.01*z-.1),z+=d=max(d,.6*length(max(p=sin(p)*sin(p.yzx),p.yzx)-.7)-d);
o=tanh(o/1e2);
October 23, 2025 at 5:51 PM
Aperture
vec3 p;
for(float d,i,z;i++<1e2;o+=(cos(z*.3+vec4(0,1,2,0))+2.)/d/z)
p=z*normalize(FC.rgb*2.-r.xyy),p.z-=t-z*.6,d=abs(.03*z-.3),z+=d=max(d,length(max(p=cos(p),p.yzx))-d);
o=tanh(o*o/9e2);
October 23, 2025 at 5:26 PM
What is the best designed game?
October 22, 2025 at 7:32 PM
Pulse
vec3 p,v;for(float i,z,d;i++<5e1;o+=vec4(3,z,6,1)/d/z)
p=z*normalize(2.*FC.rgb-r.xyy),p.z+=9.,p=dot(v=normalize(cos((t+i)/2.+vec3(6,1,4))),p)*v+cross(v,p),z+=d=.2*length(p.xy/vec2(1,9));
o=tanh(o/2e2);
October 22, 2025 at 2:44 PM
Reposted by Xor
Frosted glass globe! Here the frosting strength increases with the elevation of the terrain.
August 18, 2025 at 8:23 AM
October 20, 2025 at 6:39 PM
Reposted by Xor
Graphics Programming weekly - Issue 413 - October 19th, 2025 www.jendrikillner.com/post/graphic...
October 20, 2025 at 1:13 PM
NEW Mini: 3D Rotation!

How to rotate in 3D with arbitrary axes. I tried to make this as accessible as I could
mini.gmshaders.com/p/3d-rotation
Mini: 3D Rotation
How to rotate with Euler Angles and Axis Angles
mini.gmshaders.com
October 19, 2025 at 1:08 AM
My new favorite implementation of 2D value noise:

float value1(vec2 x)
{
vec2 i = floor(x);
vec2 s = smoothstep(i, i+1.0, x);
return mix(mix(rand(i), rand(i + vec2(1,0)), s.x),
mix(rand(i+vec2(0,1)), rand(i + 1.0), s.x), s.y);
}
October 16, 2025 at 4:58 PM
October 15, 2025 at 5:32 PM