|
|
> I'm drawing a building, rendering it with V 3.1. (Willing to switch up,
> if it'll help, tho. It just happens to be what I have.)
>
> If I trace it at +Q3 with no AA, it renders some 3000 pixels per second.
> If I trace it at +Q4 with no AA, it renders at some 3 pixels per second.
> Now, the building consists basically of
>
> intersection {
> union {
> ... lots of walls ...
> }
> union {
> ... all the doorways and windows ...
> }
> }
The main problem with CSG is bounding. If you subtract some bunch of objects
from some other bunch of objects, how do you expect POV-Ray to know what
gets subtracted and where?
So, if you want to cut a window from a wall, do that by itself:
difference{ object{Wall} object{Window} }
(Don't know why you're using Intersection in your post).
With one large intersection, POV-Ray will test EACH and EVERY object of that
intersection group for shadow rays, insidedness tests (the CSG effect,
so-to-speak) and so forth (okay, I'm no expert on the actual code, so it
might not be each and every object, but it sure is a hell lot more to
compute for POV-Ray).
One thing DigitalTwilight once made was a castle. He put the entire castle
into a merge{} statement, don't ask me why. The result was a MUCH slower
rendering. Using "-UD" on the commandline shows the boundary boxes. He had
just one. What POV-Ray does internally I do not know, but one (1!) box
versus the expected 500 (especially since his castle was made with many,
many boxes for the walls etc) is obviously a great disadvantage. Just
experiment with that yourself, and you'll see.
I hope this little excursion helps you.
Regards,
Tim
--
"Tim Nikias v2.0"
Homepage: <http://www.nolights.de>
Email: tim.nikias (@) nolights.de
Post a reply to this message
|
|