|
|
> Hi all,
>
> the behaviour of anti-aliasing is irritating me:
>
>
>
> -1-
>
> Why is the cylinder of the following tiny scene anti-aliased when using
> the options
> // +A0.9 +AM2 +R3 -J0.0 +FN +W400 +H300
> // start of scene
> cylinder { <-1, 0, 2>, <1, 0.03, 2>, 0.03
> texture {
> pigment { color rgb .25 }
> finish { ambient 1 diffuse 0 }
> }
> }
> // end of scene
>
> The maximum color difference is (according to the formula in the inbuilt
> help, 5.2.6.4): abs(.25-0)+abs(.25-0)+abs(.25-0) = .75, which is less than
> .9, so no anti-aliasing should be done. I used 3.5.icl.win32, windows
> 2000 professional, 933 MHz, 256 MB. Enlarging the picture (in IrfanView)
> clearly shows anti-aliased pixels.
Well, this is because of the way method 2 works. Method 2 shoots rays at all
corners of each pixel so you get 401 * 301 = 120701. Why you get more than
this number with your example scene is not clear to me.. maybe the colour
difference is calculated as sum from all corners or so. Note that you get a
blurring of the cylinder even when no additional samples are shot (+A02.0
in your example) because the pixels colour are the averaged from all corner
points.
>
>
>
> -2-
>
> A totally empty scene, rendered with "+A0.9 +AM2 +R2 -J0.0 -F +W400 +H300"
> casts 120701 rays in 0.28 seconds. Change "+R2" to "+R6": this casts the
> same number of rays in 6.22 seconds; "+R7": 137.98 seconds. To me this
> looks as if the anti-aliasing is done even if difference<threshold, but in
> this case the rays are not counted.
>
No, this is the pure overhead you get for setting up the array to
potentially store the result values from sampling for the subpixel rays.
Well, this is clearly not programmed optimal but R6 is crazy for almost all
cases anyway. And if you increase the scene complexity you can see that the
overhead remains constat so it doesn't matter too much.
- Micha
--
POV-Ray Objects Collection: http://objects.povworld.org
Post a reply to this message
|
|