POV-Ray : Newsgroups : povray.binaries.images : My second TRON subject... : Re: My second TRON subject... Server Time
12 Aug 2024 01:34:54 EDT (-0400)
  Re: My second TRON subject...  
From: Andrew Coppin v2
Date: 30 Jan 2004 04:06:23
Message: <401a1e8f$1@news.povray.org>
> > Well, zeroing the threshold certainly forces the issue.  Quite
> > inefficiently, though.
>
> Agreed...

You might try setting the threshold very small - say 3/256. That way, when
the rays come back virtually identical (e.g., in the middle of those big
flat grid squares ;-) POV-Ray won't bother with AA. But it should still do
it for the bright red lines. Experiment! (Theoretically, there's no point
setting it below 1/256 - unless you increase the number of bits per pixel.
Not sure if any hardware out there can display it though...)

> > Speaking of CSG, do you have a lot of intersections and
> > differences?
> > Manually bounding these sometimes speeds things up.
>
> Here I suspect you've hit the nail on the head.  I have a ton
> of intersections, differences, intersections of differences,
> differences of intersections and so on.  And I'm currently
> not using any manual bounding.  Is there a good guide out
> there for the best way to do this the most efficient way
> possible?  Do you manual bound just each difference and
> intersection?  What about 10 differences that are merged?
> I've even seen people talk about breaking unions and merges
> up into pairs so that you never put together more then 2
> shapes at a time.  In the future as I learn more I'd like to go
> back and clean up my code for speed as I'm sure I'll have to
> before I can play with animations much but I'm not sure
> what will give me the best bang for the buck and what will
> be redundant or wasted effort.

The thing to really watch out for is intersections of infinite planes, where
the intersection is finite. POV-Ray currently can't work that out; if an
intersection is between only infinite objects, POV-Ray assumes the resulting
shape is infinite too - i.e., EVERY ray is tested against it! It the
resulting object is actually small, manually bounding it will probably help
quite a bit. (On the other hand, plane intersection tests aren't that slow
to do... But they still add up. ;-)

IIRC, where you intersect an infinite object with a finite one, POV-Ray
knows the result can't be infinite. Generally POV-Ray will use the smallest
bounding volume to work out how big the result is. If you do add manual
bounding, might need to set an option to tell POV-Ray not to ignore you.
(IIRC it does that by default because older scenes tend to have this where
they [now] don't need it.)

Before I go, there's an option somewhere to turn on a useful little debug
feature. It shows the bounding volumes graphically on-screen before it
starts rendering. It will be real hard to work out which one belongs to
which object, but might be vaguely usefull. Next time you render, try using
the Draw_Vistas=on option. (You can read about it in the online help.)

Andrew.


Post a reply to this message

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