I combined #Genuary29 and #Genuary30 to make an SDF with the extremely useful new shader-blur filter that was added to #p5js last year. It reminds me of how I used to always thoroughly blend my pastel drawings. I love it so much. I spruced up one of my SDF sketches from the previous #Genuary using a few techniques I learned over the last year, and a couple things I figured out while working on it.
I haven't managed to get my head space into GPU. So here's some shading with CPU...
The object (here a sphere) is specified by an array of Locations and normal vectors. The angle between light direction and normal vector tells how bright a point is. Then it gets drawn.
Well, #genuary29 is SDF's and #genuary30 is shaders, which often use SDF's. Seems natural to combine them. Last year,'s Genuary the SDF prompt lead me to spend February and March learning shaders. However... as soon as I learned enough to make something decent, I went right back to Javascript. So this sad blob is a slight reworking of where I left off in my shader journey.
Code at: https://openprocessing.org/sketch/2159483
A small experiment for #Genuary using a 2d chaotic attractor as a heatmap for a physarum-like particle system. The current result is really noisy, far from the organic look I was aiming for, and very compression-unfriendly. Better seen in a thumbnail I guess. :D
I like how the transitions between the positive and negative modes feel.
"Universe man, Universe man
Size of the entire universe man"
https://infinitefunspace.com/p5/fly/ lets you fly through this "infinite" toroidal cube of 1M particles of ray-marched geometry spread by a moving noise function for extra texture.
Use the arrows and ASDW to move. [ and ] change the number of shapes. T toggles the text. N toggles the noise. L toggles layers.
"Particle man, particle man
Doing the things a particle can"
Play with this image live (and check out its source code) at https://infinitefunspace.com/p5/ball/ Drag with the mouse or your finger to spin it around.
It uses buffer-less rendering of 100,000 screen-aligned triangles textured with spheres. Each one is sized, colored, and animated entirely within the vertex shader.