Pinned
Thomas Hooper
Thomas Hooper
@tdhooper.bsky.social
Code artist. Graphics programmer (ex Jumpship Studio). Web developer (ex Last.fm). he/him mastodon.gamedev.place/@tdhooper · x.com/tdhooper · stainlessvision.com
1K followers1.4K following35 posts
Thomas Hooper reposted
Replying to @mattkeeter.com
hello my talk is online now and you can watch it www.youtube.com/watch?v=UxGx... (it's pretty good IMHO)
Thomas Hooper reposted
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
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...
It's really fun to explore fractals this way tdhooper.github.io/offline-shad...
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...
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
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
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...
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
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...
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...
Thomas Hooper reposted
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... 🧵
Bluesky seems to have lost the video, so here's a link instead www.youtube.com/watch?v=ce-1...
Here's a shadertoy with a minimal version of this geodisic tiling method www.shadertoy.com/view/XtKSWc
Which we use to tile the face with hexagons, I'm using a variation of this technique from Matt Zucker www.shadertoy.com/view/4d2GzV, it gives you the closest hexagon centers in 2D, which I then project onto the face in 3D by reversing the steps I used to make the uv-map
I'm using a geodesic tiling based on subdividing an icosahedron, so we start by finding the positions of the closest icosahedron face, and a vertex on that face I've found a pretty compact way of doing this, without iteration, here www.shadertoy.com/view/fdXcDl
I fragment the head into little hexagon tiles, so how do we find the distance to the closest tile from some position in space? We could loop through a list of tile positions, calculate the SDF for each one, and return the smallest distance... but this becomes expensive for all those march iterations
The head is a distance field, mostly constructed using metaballs and a lot of smooth-blended CSG primitives, about 500 lines of glsl www.shadertoy.com/view/wlf3WX Here we can see the primitives as they are blended together (Thanks teadrinker for this visualisation www.shadertoy.com/view/tlByzR)
If you're reading this you're probably familiar with my shaders, you can take a closer look on instagram instagram.com/tdhpr or shadertoy shadertoy.com/user/tdhoope...
At Jumpship I was most notably behind all things 'sediment', you can read a bit about it here store.steampowered.com/news/app/167... and store.steampowered.com/news/app/167...
You are up to date.