Thomas Hooper
@tdhooper.bsky.social
960 followers 1.5K following 35 posts
Code artist. Graphics programmer (ex Jumpship Studio). Web developer (ex Last.fm). he/him mastodon.gamedev.place/@tdhooper · x.com/tdhooper · stainlessvision.com
Posts Media Videos Starter Packs
Pinned
tdhooper.bsky.social
Hi Bluesky!

With the sudden closure of Jumpship, I'm looking for a new role

I'm looking for anywhere I can make beautiful things with code, my ideal role would be a mix of graphics programming, technical art, and gameplay programming (or anything else interactive)
Reposted by Thomas Hooper
Reposted by Thomas Hooper
jarllarsson.bsky.social
I've written an article for my webpage on how the raymarcher for The Gunk was made! jarllarsson.github.io/gen/gunkraym...
#gamedev #xbox #gp #graphicsprogramming #rendering #unreal
Raymarching The Gunk
How the raymarched slime was developed for the game The Gunk.
jarllarsson.github.io
tdhooper.bsky.social
Thanks for pointing this out, I think you're right. I tried a different approach; jittering the dots a little www.shadertoy.com/view/4XVBDh
Shadertoy
www.shadertoy.com
tdhooper.bsky.social
Beautiful effect, and thank you for the detailed explainer!

I wonder how it would look with a noisier distribution of dots? Might help with the artifacts at glancing angles

Here's a rough sketch using fractal layers of voronoi www.shadertoy.com/view/M3cfWf
Shadertoy
www.shadertoy.com
tdhooper.bsky.social
Exploring the fractal reef
tdhooper.bsky.social
cool :) I've applied
tdhooper.bsky.social
I am, though are they okay with fully remote? I’m in London
tdhooper.bsky.social
The atomic structure of fractals
tdhooper.bsky.social
That’s handled by Three.js threejs.org/examples/mis...

To position them, I execute the map function separately to find the jacobian matrix of p for each gmTransform invocation

Changes to the gizmos are then sent back to the shader as uniforms
three.js webgl - transform controls
threejs.org
tdhooper.bsky.social
It's really fun to explore fractals this way tdhooper.github.io/offline-shad...
tdhooper.bsky.social
One of the tedious aspects of modeling SDFs with raw shader code is adjusting the position of objects, so I'm adding transform gizmos into my tool

They write changes directly to the shader on disk, so I don't need an external object hierarchy

tdhooper.github.io/offline-shad...
tdhooper.bsky.social
Doing the same in 3D is similar, but we need to find the axis of rotation as well as that convergence point, I break that down here www.shadertoy.com/view/wslyzH
Shadertoy
www.shadertoy.com
tdhooper.bsky.social
Once we've put all that together we can have some fun with it ;) here's the shader used to make these gifs www.shadertoy.com/view/lf3BDr
tdhooper.bsky.social
Finally we just need to scale exponentially instead of linearly
tdhooper.bsky.social
Notice there is a point that the fractal converges on, if we rotate around that, it looks better but there's still a little jump

I've a method for finding this point of convergence here www.shadertoy.com/view/tscBDH
tdhooper.bsky.social
We can try linearly interpolating from one transform to the next, it loops, but it's not continuous
tdhooper.bsky.social
Let's look at the problem in 2D, we want to achieve this, moving from one face to the next in a smooth continuous movement
tdhooper.bsky.social
Finding a camera path that loops seamlessly is straightforward if you're just spinning around an object, or zooming in to a point... but I wanted a path that seamlessly loops between two parts of any self-similar fractal.
tdhooper.bsky.social
This one's from 2020, one again created entirely with a raymarching shader

www.youtube.com/watch?v=ACqg...

This time I'll talk about seamless camera movement...
Bloom 💀
YouTube video by tdhooper
www.youtube.com
Reposted by Thomas Hooper
nervousjesse.bsky.social
Our new Radiozoa jewelry collection and Patreon sculptures build on our work designing structures with anisotropic centroidal Voronoi diagrams. Here’s a deep dive thread on what that means and how we generate these forms.

n-e-r-v-o-u-s.com/shop/line.ph...

🧵
tdhooper.bsky.social
I've messaged you on linkedin :)
tdhooper.bsky.social
Once we have these closest hexagon centers, we can calculate an SDF for the hexagon edges, use that to fracture our head geometry, and even blend smaller heads into the hexagons :)
tdhooper.bsky.social
Here's a shadertoy with a minimal version of this geodisic tiling method www.shadertoy.com/view/XtKSWc
Shadertoy
www.shadertoy.com