POV-Ray : Newsgroups : povray.binaries.images : dry stone wall - getting there.... : Re: dry stone wall - getting there.... Server Time
16 Aug 2024 00:17:40 EDT (-0400)
  Re: dry stone wall - getting there....  
From: Defective
Date: 12 Apr 2002 15:15:03
Message: <3cb73237$1@news.povray.org>
"Tom Melly" <tom### [at] tomandlucouk> 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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.