|
|
I've found that swapping code around can help a LOT in CSG work...
Using difference to chop out bits of a large union is very slow compaired to
unioning up lots of differences... Here's an example... The following took
1m14s to render...
difference
{
union
{
#local n=0;
#while(n<1000)
sphere{vnormalize(<rand(R1), rand(R1), rand(R1)>), .01}
#local n=n+1;
#end
}
sphere{1, 0}
}
While the following produced exactly the same results in only 10s
union
{
#local n=0;
#while(n<1000)
difference
{
sphere{vnormalize(<rand(R1), rand(R1), rand(R1)>), .01}
sphere{1, 0}
}
#local n=n+1;
#end
}
If you difference each of your bricks with the window "holes" and then union
them, you should see a massive speed increase...
BTW replacing union with merge in the above script slows it down
MASSIVELY!!!!
Another tip is to use bounded_by on any onject that isnt a straight union...
differences for example are pretty poor at bounding themselves.
Rarius
"StDunstan" <fla### [at] yahoocom> wrote in message
news:web.41382ff9ce83a56bd99800df0@news.povray.org...
>I am currently on a big scene in town. thus needing to have lot of building
> facades.
>
> Starting from macros found on Gilles Tran's website
> (http://www.oyonale.com/) I built these walls brick by brick to get those
> small variations unpossible to get from the built in "brick pattern".
>
> The problem : It needs ages to be rendered on an average PC, especially as
> soon as you use CSG to get the window holes.
Post a reply to this message
|
|