POV-Ray : Newsgroups : povray.binaries.images : Building facades (1) : Re: Building facades (1) Server Time
7 Nov 2024 09:28:55 EST (-0500)
  Re: Building facades (1)  
From: Rarius
Date: 3 Sep 2004 09:36:12
Message: <4138734c$1@news.povray.org>
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

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