Xor
@xordev.com
3.3K followers 150 following 790 posts
Shaderboy xordev.com
Posts Media Videos Starter Packs
Pinned
xordev.com
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);
xordev.com
Thank you :)
xordev.com
People having been asking for audio-reactive shaders for a while now and with Milkdrop, so we made it happen!
xordev.com
Collaborated with Milkdrop to make a pack of 800 audio-reactive shaders.
Designed for VJs and visual artists. Anybody can use them with the open-source XorPlayer and Spout.
They work without audio too, great as moving backgrounds! Download:
milkdrop3.com/XorDev
Have fun!
xordev.com
vec2 p=(FC.xy*2.-r)/r.y/.2;
for(float i;i++<2e1;o+=(cos(p.x*.5+vec4(0,2,4,0))+1.3)/length(sin(p-t+sin(p-t).yx))/.2)p*=mat2(9,-3,3,9)/9.;
o=tanh(o*o/9e4);
xordev.com
Cyclone
vec2 p=(FC.xy*2.-r)/r.y/.1;
for(float i;i++<1e1;o+=(cos(p.x+vec4(2,1,0,0))+1.)/length(sin(p+sin(p+t).yx))/.2)p*=.1*mat2(8,-6,6,8);
o=tanh(o*o/2e4);
xordev.com
I have been having a ton of fun with faking fluids using "turbulence". It's amazing how effective it is
Reposted by Xor
pekkavaa.bsky.social
New article on my site: Better sRGB to greyscale conversion

The commonly used greyscale formula is slightly off when computed in gamma space but can it be fixed?

📜 30fps.net/pages/better...
A four-pane comparison of different formulas for greyscale conversion.
Top row: Linear sRGB (the correct way to do it), Gamma sRGB (the somewhat wrong "luma" formula).
Bottom row: CIELAB L* (a high quality option), and the new alternative gamma-space version.

Careful inspection shows the "Gamma sRGB" case is slightly dimmer at points than the others. A quote from “Principles of Digital Image Processing” by Wilhelm Burger and Mark J. Burge. It shows weights that are a better fit for gamma-space greyscale conversion.
xordev.com
Dispersion
for(float i,z,d,s;i++<2e1;o+=(cos(s-z+vec4(0,1,8,0))+1.)/d){vec3 p=z*normalize(FC.rgb*2.-r.xyy),a=p;
for(d=2.;d++<7.;)a-=sin(a*d+t+i).yzx/d;z+=d=abs(2.-max(p=abs(p),p.y).x)+abs(cos(s=a.z+a.y-t))/7.;}
o=tanh(o/2e2);
xordev.com
"Thermal"
for(float i,z,d,s;i++<3e1;o+=(cos(s-t+vec4(0,1,8,0))+1.)/d)
{vec3 p=z*normalize(FC.rgb*2.-r.xyy),a=p;p.z+=5.;
for(d=2.;d++<7.;)a-=sin(ceil(a*d+t)).yzx/d;z+=d=abs(max(p=abs(p),max(p.y,p.z)).x-2.)*.4+.2*abs(cos(s=a.y+t));}
o=tanh(o/3e2);
xordev.com
"Spherical"
vec2 u=FC.xy/r.y*PI;
vec3 c=vec3(sin(u.x+vec2(0,11))*sin(u.y),cos(u.y)),a,
v=mix(dot(a+=.57,c)*a,c,sin(t))+cos(t)*cross(a,c);
o.rgb=tanh(.1/abs(tan(v/.1)));
xordev.com
I absolutely will. Give me an hour or so