|
![](/i/fill.gif) |
"Tom Melly" <tom### [at] tomandlu co uk> wrote in message
news:3cb6bf59$1@news.povray.org...
>
> Ooo, nice. I suspect for my needs I need to hunt down some ref. photos.
>
I ripped the following rocks from isocacti.pov (in the sample scenes) and
created a macro, then plugged it into your code:
#macro Rock3(SEED)
#local RS = seed(SEED);
#local RockColors = array[5]
{
color rgb < 0.5, 0.4, 0.35>,
color rgb < 0.4, 0.5, 0.4>,
color rgb < 0.8, 0.75, 0.65>,
color rgb 0.8,
color rgb 0.5
}
#local TexNum = RRand(0.1, 1, RS);
#local Scale = rand(RS);
#local RotY = rand(RS);
isosurface {
function {f_r(x, y, z) - 1 + f_noise3d(x, y, z)*0.5}
threshold 0
contained_by {sphere {o, 1}}
#if(Scale < 0.5) scale VRand_In_Box(< 1, 0.9, 1>, < 2, 1, 3>, RS) #end
rotate y*RotY*360
translate -y*0.35
texture {
pigment {Rand_Array_Item(RockColors, RS)*TexNum}
normal {granite bump_size 0.5 scale 0.01}
}
}
#end // Rock3
>
> I don't know if the merging stones problem can really be resolved* - at
least
> not without a huge chunk of flaky code. What size are your base stones? At
the
> moment the macro only really works with stones w/ radius =1.
>
> * changing the line
> #declare TraceX = TraceX + (2*XScale);
> to, for example
> #declare TraceX = TraceX + (3*XScale);
> would make a merge less likely in the x dimension.
>
Trying that as I type this...
Dang! No improvement. Guess I better take another look at the rock
dimensions.
Scott
Post a reply to this message
|
![](/i/fill.gif) |