Title: 1024x AA on a Mandelbrot Post by: sumawo13 on June 26, 2012, 12:07:16 PM Hi, I'm new to these forums and I've only recently become interested in fractals. I'm mostly interested in fractals due to their practically limitless high frequencies which make them a good test for various antialiasing and downsampling methods.
Here is a Mandelbrot fractal I rendered in 64-bit Fractal Extreme at 61440x34560 and downsampled to 1920x1080 in ImageMagick using a box filter. (http://ompldr.org/tZWliNA) (http://ompldr.org/vZWliNA) Here is an aliased render for comparison. (http://ompldr.org/tZWhwdg) (http://ompldr.org/vZWhwdg) I hope to post more renders in the future that compare various sampling rates and downsampling filters. Title: Re: 1024x AA on a Mandelbrot Post by: LhoghoNurbs on June 26, 2012, 03:03:11 PM So you actually crushed 1024 (i.e. 32x32) pixels into 1!
To be hones, I have never done this, but have you investigated the maximal meaningful downscaling factor? If I want to produce a nice image HxW without alias artifacts, I produce nHxnW and then downsample to HxW. What are acceptable values for n? I'd expect that larger n will produce nicer images, but at some point increasing n will not contribute visually to the image (but will significantly slow down the rendering). So far, when I did similar things, I used n=2 and n=4. I have never tested with larger n (like your n=32). Title: Re: 1024x AA on a Mandelbrot Post by: cKleinhuis on June 26, 2012, 03:32:21 PM be sure to check out pauldels coloring method for high frequency border areas of the set ;9
hello and welcome to the forums Title: Re: 1024x AA on a Mandelbrot Post by: sumawo13 on June 26, 2012, 06:00:50 PM So you actually crushed 1024 (i.e. 32x32) pixels into 1! To be hones, I have never done this, but have you investigated the maximal meaningful downscaling factor? If I want to produce a nice image HxW without alias artifacts, I produce nHxnW and then downsample to HxW. What are acceptable values for n? I'd expect that larger n will produce nicer images, but at some point increasing n will not contribute visually to the image (but will significantly slow down the rendering). So far, when I did similar things, I used n=2 and n=4. I have never tested with larger n (like your n=32). I did a test to see if there is a point of diminishing returns on sampling rates. Here is the results from 2x2 up to 32x32. http://ompldr.org/vZWltdQ/04.png http://ompldr.org/vZWltdg/04-2x2-box.png http://ompldr.org/vZWltdw/04-4x4-box.png http://ompldr.org/vZWlteA/04-8x8-box.png http://ompldr.org/vZWlteQ/04-16x16-box.png http://ompldr.org/vZWluMA/04-32x32-box.png The difference between sampling rates is most noticeable until you get up to 8x8, with 16x16 and 32x32 reducing noise in the areas of very fine detail. If I could I would render all the way up to 1024x1024 but 32x32 took around 90 minutes to render and another 10 to downsample. All in all it seems 8x8 is a good place to be, and I'm sure it would be even better if I downsampled with something other than a box filter, but for this test I wanted to see the direct effect of the sampling rate. Title: Re: 1024x AA on a Mandelbrot Post by: LhoghoNurbs on June 26, 2012, 07:05:13 PM If I could I would render all the way up to 1024x1024. I'm not quite sure that what I'm going to say is true: if you want to colour a pixel with the true average colour of some area, this sounds like a lost battle. It is like measuring the circumference of Britain - for every unit of measurement you get a different length - and all these lengths are all wrong. In the case of colours, imagine you render a pixel as a box of 1024x1024 pixels. And all colours are shades of red. I assume that somewhere in between rows 97 and 98 and columns 732 and 733 there is a blue subpixel area that you did not account for. The bottom line is that when you increase the box size, you will either get different results for different sizes, or you will get a predominant gray colour (as an average of a huge sample set of various colours). Anyway, have you measured the impact of this factor when the viewpoint is moving. It may happen that for some image and some viewpoint 32x32 is good, but if you move the viewpoint slightly to the left, you start to see artifacts. If you move it further to the left, the artifacts disappear. Title: Re: 1024x AA on a Mandelbrot Post by: Pauldelbrot on June 27, 2012, 12:23:08 AM I did a test to see if there is a point of diminishing returns on sampling rates. Here is the results from 2x2 up to 32x32. http://ompldr.org/vZWltdQ/04.png http://ompldr.org/vZWltdg/04-2x2-box.png http://ompldr.org/vZWltdw/04-4x4-box.png http://ompldr.org/vZWlteA/04-8x8-box.png http://ompldr.org/vZWlteQ/04-16x16-box.png http://ompldr.org/vZWluMA/04-32x32-box.png The difference between sampling rates is most noticeable until you get up to 8x8, with 16x16 and 32x32 reducing noise in the areas of very fine detail. If I could I would render all the way up to 1024x1024 but 32x32 took around 90 minutes to render and another 10 to downsample. All in all it seems 8x8 is a good place to be, and I'm sure it would be even better if I downsampled with something other than a box filter, but for this test I wanted to see the direct effect of the sampling rate. My own experience is similar. Quality doesn't tend to increase noticeably much above 7x7, and is pretty darn good at 5x5. Above 10x10 gains are almost undetectable except in areas with a lot of fine filaments producing moire. The most effective way to get rid of moire, though, may be to jitter the samples by around one subpixel size and combine with 7x7 or so -- so, at 7x7, you'd jitter by maybe 1/7 of one pixel width. Jitter kills moire much more cheaply than heavy oversampling, but it turns it into noise. Oversampling smooths out noise, but more than about 7x7 hits diminishing returns for quadratically-escalating CPU time. Title: Re: 1024x AA on a Mandelbrot Post by: cKleinhuis on June 27, 2012, 11:23:56 AM the image looks a bit too much blurred hence the massive averaging
Title: Re: 1024x AA on a Mandelbrot Post by: rollercoaster158 on June 27, 2012, 04:24:38 PM I'm suprised that it took only 90 minutes to render a 61440x34560 image. Let's see, if the render time scaled linearly, 64x64 AA would take 360 minutes or 6 hours, not too bad. But 1024x1024 AA would take 4096 times longer than 90 minutes, making it 368640 minutes or 256 days. Not to mention that the unedited picture would have a resolution of 1966080x1105920, smashing the record of world's largest picture by several times. It would also take up several 2TB hard drives.
That aside, would it really make any meaningful difference? Title: Re: 1024x AA on a Mandelbrot Post by: LhoghoNurbs on June 27, 2012, 07:04:19 PM Not to mention that the unedited picture would have a resolution of 1966080x1105920, smashing the record of world's largest picture by several times. It would also take up several 2TB hard drives. Downsampling could be done on-the-fly, so the huge picture will never exists as a complete picture... Title: Re: 1024x AA on a Mandelbrot Post by: rollercoaster158 on June 27, 2012, 10:11:02 PM Downsampling could be done on-the-fly, so the huge picture will never exists as a complete picture... Yeah, I guess you're right. But still, 256 days could be spent making an HD deep zoom movie or a long 3d fractal flythrough, which is much more satisfying than smoothing out the tiniest remnants of noise on a simple picture. |