POV-Ray : Newsgroups : povray.newusers : rgb-cube and problems with media : Re: rgb-cube and problems with media Server Time
6 Sep 2024 04:21:19 EDT (-0400)
  Re: rgb-cube and problems with media  
From: Peter Popov
Date: 26 Jul 1999 06:30:46
Message: <379c368e.20713716@204.213.191.228>
On Mon, 26 Jul 1999 01:55:17 -0700, Ken <tyl### [at] pacbellnet> wrote:
>> Replacing the spheres with the equivalent blob (of threshold 0.0001 or
>> similar) will result in a much faster and smoother render, and you
>> won't need to set max_trace_level too high. (You might need the
>> 'sturm' keyword if there're a lot of elements, but that's all.) I have
>> too overlooked this method in the past until Chris Colefax opened my
>> eyes.
>> 
>> Peter Popov
>> ICQ: 15002700
>
>Why would this be ?

I didn't believe it either before I did the tests. First of all,
multiple containers for multiple media proved a lot faster and
smoother than multiple media in a single container. The reason is
that, as the media are better enclosed each in its own container, a)
fewer unnecessary calculations are performed and b) media intervals
are closer together. Or, if we choose a container that's fast and
tightly fitting the media, then it's ok too. With that said, there are
three ways to go:

Union of spheres - fast, but has the problem of the high
max_trace_level needed. Also, if the spheres are closely packed, it
gets really slow. I think the reason is that every time the ray
enters/leaves a sphere and leaves/enters another, that segment of it
gets media sampled. Imagine what happens with 150 closely packed
spheres.

Merge of spheres - the problems typical for the union of spheres are
avoided, but merge is really slow as is.

Blob - the fastest of all three due to the bounding hierarchy and it
also avoids the problems that an union of spheres has. Also, each
element gets its media sampled separately (or so it seems) and this
yields a smoother image.


Peter Popov
ICQ: 15002700


Post a reply to this message

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