How to add noise onto sdf hull

hi all,

how do I add this fine noise onto my sdf? I know it must be fbm, but I how do I connect it to distort the clean field?


credits https://www.instagram.com/artstrevinho/

You do noise per axis, but for normals needs extra work i think

Could you elaborate? From my understanding the sdf node describes the formula of the sphere sdf.

float sphereSDF(vec3 p) {
    return length(p) - 1.0;
}

The gpu value coming out is the formula, and if I math add my FBM noise, I change the formula to

float sphereSDF(vec3 p) {
    return length(p) (- 1.0 +myFBM);
}

I guess it does not work this way :D

sdffbm.vl (17.1 KB)

Since you have p you can apply fbm on p, before it goes in to sphere distance function.
In ray marching usually if you want to distort something you distort space, since distorting depth doesn’t really makes sense. On d you apply materials and stuff like that…

You can check video from this one the math is the same vvekend vvorkshops - raymarching basics | vvvv

hehe, sry I still don’t get it how I do this with fuse nodes.
if you or sb finds the time, a patched example would be nice!
noise.vl (16.3 KB)

1 Like

Hey sorry for late reply…

how do I add this fine noise onto my sdf?

quite literally do just that!

You do noise per axis, but for normals needs extra work i think

This is another (more expensive) approach then the above. There is actually a DomainDistortion node that makes this easy though. You shouldn’t have to do anything special to still get normals, but note in both methods you are ‘corrupting’ the SDF. Which is fine to do up to a point ;)

noise_Fixed.vl (16.0 KB)

Here’s your patch, I also added another noise to the FBM’s octave input, so you can have a varying number of octaves, like in the reference pic

1 Like