1 - (distance(Ng,P,I*0.1)*0.1) - It fixes the area of the transformation so it doesn’t show the individual subdivided polygons that broke the whole thing up! Note that there is a side effect the entire mesh will move a little in space but i think that is a lesser evil.
noise(“perlin”,1.5cos§)*100 - This is truly where the magic happens. You HAVE to put P in the mix for the displacement to work if you use P you can do anything thats the only rule. If you use N you’ll slice your mesh and if you mix N with P you can get some sliced but interesting (and broken) results!
I’ve illustrated this same code with some screens bellow:
interesting, but it is still not working consistently: At some point I do get displacement (but not with the release version just with the daily built) but as soon as I toggle the object to/from edit mode the displacement is gone and no matter what I do I can’t get it back …
Also, recompiling the shader does not have any effect (unless done directly after reloading the .blend) and a shader with input parameters isn’t reevaluated when those parameters change …
AH! Yes, there’s a trick to it, you have to rechoose true displacement again from the menu for it to apply any change (Or to get in and out rendered view). Also i’ve tested it with some few different blender releases and had no major issues. I’ve noticed that sometimes displacement gets ignored in some versions if you don’t assign a value to your output variable ( D = D + 0.0001;).