|
|
"Josh" <nomail@nomail> wrote:
> It's not too hard to add noise3d to a basic shape, but any ideas about how to
> (programmatically?) create more of those complex rough rocky geometries? Thanks
> to everyone for the help.
I would suggest that you take a look at the isowood macros
http://www.imagico.de/iso_wood_en.php
And definitely the raymarching and signed distance function work of Inigo Quilez
https://www.youtube.com/watch?v=s5NGeUV2EyU
see the 4:00 mark.
Some mathy stuff to ponder the power of:
http://iquilezles.org/www/articles/proceduralgfx/inspire2008.pdf
http://wiki.povray.org/content/User:Wfpokorny/DensityFile/TubulenceWarpsExamples
I think that for deep crevices such as that, what you may want to do is model a
rough asteroid as a parent object, and then subtract very jagged shapes from it.
Simple ellipsoids, cylinders, or perhaps some sort of web/network shape like the
gyroid I've played with here and there.
You can avoid CSG differencing by using "isosurface differencing" right in the
equation.
http://www.povray.org/documentation/view/3.6.1/73/
(1.3.3.3.6 Combining isosurface functions)
"Of course also "difference" is possible, we just have to add a minus (-) before
the second function:
function { max(fn_A(x, y, z), -fn_B(x, y, z)) }"
http://www.econym.demon.co.uk/isotut/combine.htm
and see here, where he shows crackle as an isosurface function
http://www.econym.demon.co.uk/isotut/pigment.htm
you could superimpose all those little floating chunks inside the asteroid and
difference them away to get all the pock marks and crevices.
etc, and so on, ad infinitum.
-Bill
Post a reply to this message
|
|