POV-Ray : Newsgroups : povray.general : Multiple media vs. multiple containers Server Time
1 Nov 2024 23:13:21 EDT (-0400)
  Multiple media vs. multiple containers (Message 1 to 4 of 4)  
From: Peter Popov
Subject: Multiple media vs. multiple containers
Date: 3 Jul 1999 16:47:37
Message: <378070b4.106214832@204.213.191.228>
Hi there.

Here're the results from the tests I promised. Sorry it took me so
long, but it's media, you know...

Please see p.b.s-f for the code and p.b.i for example images.

Type 1 - multiple densities

type1_1.tga, Quality 2  -  7 minutes
type1_2.tga, Quality 3  - 21 minutes
type1_3.tga, Quality 4  - 29 minutes

Type 2 - multiple containers

type2_0.tga, Quality 1  -  4 minutes
type2_1.tga, Quality 2  -  6 minutes
type2_2.tga, Quality 3  - 17 minutes
type2_3.tga, Quality 4  - n.a. sorry, dad played freecell :(
type2_2.tga, Quality 5  - 37 minutes

Multiple containers are faster and with better quality. The examples
posted in p.b.i. show a particle system of 50 particles. Using
multiple containers, the result was much less grainy and was rendered
in 6 minutes vs.29 for multiple media. The results differ slightly but
that's due to the small accuracy of type 1.

I also did a 100 frames 100x100 anim. It started with a single
particle and added a particle every frame (if anyone's interested I'll
post it). Here're the stats:

Type 1 (multiple media) statistics:

Total time: 3:16:34, render 3:16:11, parse 0:0:23

Intersections:
Shape		Tests		Succeeded	Percentage
Sphere		419435		1708050	70.60
Bounding Box	3831950		3830350	99.95
Vista		1030320		1030320	100.00

Media:
Intervals	4963140
Samples		34746921	7.00 per interval
Transmitted rays		1418040
I-Stack overflows		7125

Memory:
Smallest	26
Largest		8216
Peak		134132

command line:
+w100 +h100 +mb0 +uv +kfi0 +kff99 -d +a0.4 +r2

Type 2 (multiple containers) statistics:

Total time: 2:59:18, render 2:58:39, parse 0:0:16

Intersections:
Shape		Tests		Succeeded	Percentage
Sphere		54614525	37059270	67.86
Bounding Box	266093261	113576463	42.68
Vista		19936209	12944728	64.93

Media:
Intervals	45169600
Samples		313641496	6.94 per interval
Transmitted rays		7248496
I-Stack overflows		989

Memory:
Smallest	26
Largest		8216
Peak		198691

System: K6/233 96 RAM running POV-Ray for windows 3.1e on 98
command line: +w100 +h100 +mb0 +uv +kfi0 +kff99 -d +a0.4 +r2

(These look fine using Lucida Console)

The main disadvantage of type 1 is that all densities are calculated
for every interval and every sample. This leads to graininess and
inaccuracy because small radius densities may not be hit at all.

The main disadvantage of type 2 and it is that max_trace_level and
max_intersections should be really high. This could be really painful
in scenes with reflective / refractive objects. I've put in a type 3
which uses merge to avoid the problem, but preliminary tests show that
it's slower than type 1 (though more accurate).

Well, that's it for now. Any comments?


Peter Popov
ICQ: 15002700


Post a reply to this message

From: Bob Hughes
Subject: Re: Multiple media vs. multiple containers
Date: 3 Jul 1999 18:08:44
Message: <377E89D4.55B31E3D@aol.com>
Okay, so as I understand it, the grainier image is multiple media and
the smoother of the two is multiple containers (the images posted at
p.b.i.).


Peter Popov wrote:
> 
> Hi there.
> 
> Here're the results from the tests I promised. Sorry it took me so
> long, but it's media, you know...
> 
> Please see p.b.s-f for the code and p.b.i for example images.
> 
> Type 1 - multiple densities
> 
> type1_1.tga, Quality 2  -  7 minutes
> type1_2.tga, Quality 3  - 21 minutes
> type1_3.tga, Quality 4  - 29 minutes
> 
> Type 2 - multiple containers
> 
> type2_0.tga, Quality 1  -  4 minutes
> type2_1.tga, Quality 2  -  6 minutes
> type2_2.tga, Quality 3  - 17 minutes
> type2_3.tga, Quality 4  - n.a. sorry, dad played freecell :(
> type2_2.tga, Quality 5  - 37 minutes
> 
> Multiple containers are faster and with better quality. The examples
> posted in p.b.i. show a particle system of 50 particles. Using
> multiple containers, the result was much less grainy and was rendered
> in 6 minutes vs.29 for multiple media. The results differ slightly but
> that's due to the small accuracy of type 1.
> 
> I also did a 100 frames 100x100 anim. It started with a single
> particle and added a particle every frame (if anyone's interested I'll
> post it). Here're the stats:
> 
> Type 1 (multiple media) statistics:
> 
> Total time: 3:16:34, render 3:16:11, parse 0:0:23
> 
> Intersections:
> Shape           Tests           Succeeded       Percentage
> Sphere          419435          1708050 70.60
> Bounding Box    3831950         3830350 99.95
> Vista           1030320         1030320 100.00
> 
> Media:
> Intervals       4963140
> Samples         34746921        7.00 per interval
> Transmitted rays                1418040
> I-Stack overflows               7125
> 
> Memory:
> Smallest        26
> Largest         8216
> Peak            134132
> 
> command line:
> +w100 +h100 +mb0 +uv +kfi0 +kff99 -d +a0.4 +r2
> 
> Type 2 (multiple containers) statistics:
> 
> Total time: 2:59:18, render 2:58:39, parse 0:0:16
> 
> Intersections:
> Shape           Tests           Succeeded       Percentage
> Sphere          54614525        37059270        67.86
> Bounding Box    266093261       113576463       42.68
> Vista           19936209        12944728        64.93
> 
> Media:
> Intervals       45169600
> Samples         313641496       6.94 per interval
> Transmitted rays                7248496
> I-Stack overflows               989
> 
> Memory:
> Smallest        26
> Largest         8216
> Peak            198691
> 
> System: K6/233 96 RAM running POV-Ray for windows 3.1e on 98
> command line: +w100 +h100 +mb0 +uv +kfi0 +kff99 -d +a0.4 +r2
> 
> (These look fine using Lucida Console)
> 
> The main disadvantage of type 1 is that all densities are calculated
> for every interval and every sample. This leads to graininess and
> inaccuracy because small radius densities may not be hit at all.
> 
> The main disadvantage of type 2 and it is that max_trace_level and
> max_intersections should be really high. This could be really painful
> in scenes with reflective / refractive objects. I've put in a type 3
> which uses merge to avoid the problem, but preliminary tests show that
> it's slower than type 1 (though more accurate).
> 
> Well, that's it for now. Any comments?
> 
> Peter Popov
> ICQ: 15002700

-- 
 omniVERSE: beyond the universe
  http://members.aol.com/inversez/homepage.htm
 mailto://inversez@aol.com?Subject=PoV-News


Post a reply to this message

From: Nieminen Mika
Subject: Re: Multiple media vs. multiple containers
Date: 4 Jul 1999 14:48:43
Message: <377fac8b@news.povray.org>
Peter Popov <pet### [at] usanet> wrote:
: The main disadvantage of type 2 and it is that max_trace_level and
: max_intersections should be really high. This could be really painful
: in scenes with reflective / refractive objects.

  It would be fine if you could specify a max_trace_level for an object.
This way you could have a very high global max_trace_level and a glass
object with a smaller one. Like this:

global_settings { max_trace_level 20 }

object { WaterGlass max_trace_level 5 }

  This could mean that when a ray hits the WaterGlass object, it will be
reflected/refracted up to 5 times instead of 20 if the reflected/refracted
ray hits the same WaterGlass object again.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Peter Popov
Subject: Re: Multiple media vs. multiple containers
Date: 4 Jul 1999 19:11:32
Message: <377fe939.34127443@204.213.191.228>
On 4 Jul 1999 14:48:43 -0400, Nieminen Mika <war### [at] cctutfi> wrote:

>  It would be fine if you could specify a max_trace_level for an object.
>This way you could have a very high global max_trace_level and a glass
>object with a smaller one. Like this:
>
>global_settings { max_trace_level 20 }
>
>object { WaterGlass max_trace_level 5 }
>
>  This could mean that when a ray hits the WaterGlass object, it will be
>reflected/refracted up to 5 times instead of 20 if the reflected/refracted
>ray hits the same WaterGlass object again.

I think this will be really helpful. Until someone actually implements
this, the two ways to avoid max_trace_level problems are blobs and
merge, but of course they are slower and with poorer quality than a
simple union of spheres.


Peter Popov
ICQ: 15002700


Post a reply to this message

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