I saw @iquilezles sdFbm article (iquilezles.org/www/articles/f…) and tried it in blender.
5 octaves of noise, 16 raymarching steps. That's all opengl can handle before hitting uniform limits with nodes.
As you can imagine, lots of nodes :D

The node editor lags to death, but viewport is nice and fast still (since unrolled loops run about the same in the end on the GPU side)

Note there's no drivers in the shader, as that *wouldn't* run anywhere near as fast!
Here's an overview of the nodes, with a little bit of annotation to show what each chunk of nodes is doing Image
And let's dive in.
loop - the main raymarch loop, just sample "map" and move along
map - main SDF function
sdFbm - algorithm described in the article, implemented with nodes
sdFbmLoop - Iterations of the algorithm
sdBase - "sphere grid" as described in the article ImageImageImageImage
sph - single random-radius sphere SDF
no integers in blender shaders, so the integer hash is replaced with a float one ("White Noise" Texture)
That's it, pretty straightforward actually, just looks like a lot of nodes at first with all the iterations. ImageImage
fuck i'm moving in a day i'm meant to be packing my things why am i getting fixated on balls of goo🥲

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Late, as usual

Late, as usual Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @lateasusual_

13 Apr
How to make stuff emit from cracks in cell fractured meshes:
1: Do the cell fracture, duplicate the fractured mesh and join it together.

2: remove all non-sharp edges by selecting a non-sharp edge, Shift+G->Sharpness, then X->Edges: ImageImage
3: Select all, extrude and scale outwards, make sure not to change your selection yet!

4: In a UV editor, enable Selection Sync, and move everything over to the right.

5: Invert selection (Ctrl + I) and make sure the rest is all on the left. ImageImageImage
Read 5 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(