News: Visit UltraFractalWiki for hints & tutorials on UltraFractal5
 
*
Welcome, Guest. Please login or register. October 25, 2014, 05:18:25 PM


Login with username, password and session length



Pages: [1] 2 3   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: feature request - anti aliasing  (Read 4261 times)
Description: anti aliasing discussion
0 Members and 1 Guest are viewing this topic.
isosceles
Alien
***
Posts: 36



isosceles
WWW
« on: December 09, 2011, 06:41:03 PM »

I'm have started to perform some huge renders and the render times are getting outrageous. Especially since I am hiding the aliasing by rendering the image double the size and then scaling down by 50%. I would like to request adding an anti aliasing feature. Thoughts? Options?
Logged

Jason Fletcher
Charles Hayden Planetarium
huminado
Guest
« Reply #1 on: December 10, 2011, 05:36:44 PM »

Original (960x720):
https://picasaweb.google.com/lh/photo/mb1ZwMSghZGM63iOjgrzDavgzFmHVER8BXOSyqa-pbg?feat=directlink




GIMP-> scale 3x -> oilify 6pxl -> unsharpen mask 3.0 -> scale back to original size:
https://picasaweb.google.com/lh/photo/jXGlUzypFWXXVwWxrbA3sKvgzFmHVER8BXOSyqa-pbg?feat=directlink


[I don't know why these images are appearing much larger than they should.]

Many knobs to turn in GIMP, so this might be improved.  Also GIMP can handle multiple images for animations (tutorials on GIMP site).
« Last Edit: December 10, 2011, 05:49:56 PM by huminado » Logged
Buddhi
Fractal Molossus
**
Posts: 655



WWW
« Reply #2 on: December 11, 2011, 02:01:42 PM »

Anti-aliasing is a never-ending story. It's very difficult to create efficient AA algorithm which will filter only fractal edges (but what means edge when there is no polygons). I have some ideas but for implement this I have to redesign rendering algorithm.
Now only way to have anti-aliasing is render image in double (or triple) resolution.
Logged

huminado
Guest
« Reply #3 on: December 12, 2011, 05:26:40 PM »

I once did a 2D monochrome anti-aliasing algorithm that involved a bunch of L and T shapes.  It pattern matched the shapes and replaced them with angles.  When applied to bitmap fonts it was almost tolerable.  Without imaging at a higher resolution, all antialiasing algorithms are just going to introduce more noise to the image, and the quality seems to go down.

Mandelbulber's detail parameter seems pretty nice - I've only just begun playing with it.  Very curious how it was implemented.
Logged
kram1032
Fractal Senior
******
Posts: 1587


« Reply #4 on: December 13, 2011, 12:02:26 AM »

I have no idea how easy or hard it would be to implement something like this but it seems to perform pretty well...
http://dl.dropbox.com/u/50613830/wavelet_rasterization.pdf
Check it out. A wavelet-based analytic antialiasing algorithm.
It's only box-filtered but therefore with essentially infinite sampling depth for being analytic.
Also they mentioned, extending to orthogonal wavelets would be trivial, so maybe there are better choices that are still simple enough.
smiley
Though the algorithm directly has to work on the polygon, it seems.
Voxel-based rendering techniques might be improved by that too...
« Last Edit: December 13, 2011, 12:04:09 AM by kram1032 » Logged
isosceles
Alien
***
Posts: 36



isosceles
WWW
« Reply #5 on: December 13, 2011, 06:36:01 PM »

Yes I figured it was a very difficult request. Thanks for your thoughts.

Currently, I've been rendering at double the resolution. Then I add .2 Gaussian blur to remove the digital grain look.

I've also been testing out this plugin. It works quite well.
http://powerretouche.com/Antialias_plugin_tutorial.htm
Logged

Jason Fletcher
Charles Hayden Planetarium
isosceles
Alien
***
Posts: 36



isosceles
WWW
« Reply #6 on: December 13, 2011, 06:40:52 PM »

Another feature request. Would it be possible to add tile rendering support? Even if just renders out the tiles individually and I have stitch them manually (or with a script). I am performing some huge renders and I am running out of RAM.
Logged

Jason Fletcher
Charles Hayden Planetarium
Syntopia
Fractal Bachius
*
Posts: 588



syntopiadk
WWW
« Reply #7 on: December 13, 2011, 07:45:08 PM »

If you are only interested in anti-alising sharp edges, some of screen space techniques used in the gaming industry might help, for instance MLAA: http://www.geeks3d.com/20101023/tips-what-is-the-morphological-anti-aliasing-mlaa/

In the raytracer I wrote for Structure Synth, I experimented with detecting large changes in the z-buffer and large changes in the normals, and supersampled only at these boundaries. But it ended up as a mess, because other types of alias were still present: shadow boundaries alias, ambient occlusion, textures, etc...

And fractals are terribly complicated with lots of details - so there is probably no free lunch.
Logged
Buddhi
Fractal Molossus
**
Posts: 655



WWW
« Reply #8 on: December 13, 2011, 08:07:09 PM »

Another feature request. Would it be possible to add tile rendering support? Even if just renders out the tiles individually and I have stitch them manually (or with a script). I am performing some huge renders and I am running out of RAM.

How big images do you want to render and how much RAM you have (and which operating system you have)? When I know requirements I will think about some solution. But even if I implement render-to-disk option it will have some limitations. There will not work SSAO and DOF.
Logged

huminado
Guest
« Reply #9 on: December 13, 2011, 10:36:24 PM »

I've got 8GB RAM and sometimes I've wondered if I could use an image on the order of 12,000 x 10,000 pixels but it seems to crash larger than 3k^2 or so.  The application would be primitive animations that just scan over the larger 2D generated image.
Logged
taurus
Fractal Schemer
****
Posts: 999



profile.php?id=1339106810
WWW
« Reply #10 on: December 13, 2011, 10:54:12 PM »

... but it seems to crash larger than 3k^2 or so. 

i made images 8k x 5k on a 32bit system. when you're right the 64bit version would be useless...  huh?
Logged

when life offers you a lemon, get yourself some salt and tequila!
huminado
Guest
« Reply #11 on: December 13, 2011, 11:42:53 PM »

Yes - running Vista 64-bit with the 64-bit version of Mandelbulber 1.08.  I just verified simple mandelbulb render larger than 4k x 5k - with Task Manager reporting app using 1.5GB.  Then tried 7k x 5k, same image crashed.

Um... let me double check that before I complete embarrass myself.   embarrass

Okay - I was running the 32-bit version... sorry.  64-bit does fine.
« Last Edit: December 14, 2011, 09:14:15 AM by huminado » Logged
Buddhi
Fractal Molossus
**
Posts: 655



WWW
« Reply #12 on: December 14, 2011, 07:27:00 PM »

Yes - running Vista 64-bit with the 64-bit version of Mandelbulber 1.08.  I just verified simple mandelbulb render larger than 4k x 5k - with Task Manager reporting app using 1.5GB.  Then tried 7k x 5k, same image crashed.

Um... let me double check that before I complete embarrass myself.   embarrass

Okay - I was running the 32-bit version... sorry.  64-bit does fine.

On system like this there should be possible to render up to 20000x20000 (I render 15000x15000 with 4GB RAM). To achieve such big resolution Mandelbulber has to be started in "low mem" mode. To do this on Windows just start the program from Start menu by "Mandelbulber 64-bit - Low memory" or from console (on Windows or Linux) with parameter "-lowmem". Then the program will start in limited mode, with no possibility to make any post-rendering tuning of images. Final image will look exactly the same like in normal mode.
Logged

isosceles
Alien
***
Posts: 36



isosceles
WWW
« Reply #13 on: December 14, 2011, 09:06:16 PM »

I am currently rendering 23040x12960. About 6GB of RAM used.

8GB RAM. Windows 7 64-bit. Mandelbulber 64-bit low memory mode.

My plan is to create truely huge renders for high-quality large-format canvas prints. So I must render twice the size to remove the aliasing and also achieve a more detailed final result. So I would like to render even bigger... Possibly 40k or 80k. Hence the need for tile rendering.

I am fine with the limitations of render-to-disk. I always use real AO. For shots that use DOF, I would just use the normal rendering mode.

Could the tile render have the option to select the amount of X-tiles and Y-tiles? In other words, the user drives the division of the grid.
Logged

Jason Fletcher
Charles Hayden Planetarium
bib
Global Moderator
Fractal Senior
******
Posts: 2003



@bib993
WWW
« Reply #14 on: December 14, 2011, 09:19:22 PM »

My plan is to create truely huge renders for high-quality large-format canvas prints. So I must render twice the size to remove the aliasing

I am not an expert but I remember a thread were someone (was it Dave Makin?) said it was pointless to do anti-aliasing for large size prints.
Logged

Between order and disorder reigns a delicious moment. (Paul ValÚry)
Pages: [1] 2 3   Go Down
  Print  
 
Jump to:  


Related Topics
Subject Started by Replies Views Last post
Yet Another Feature Request! (RE: Lights and Animation) Mandelbulb 3d Sockratease 5 691 Last post April 17, 2011, 12:07:36 AM
by Jesse
Feature Removal Request Mandelbulb 3d Sockratease 6 475 Last post January 03, 2012, 10:25:15 AM
by Teena
Yet Another Feature Request! feature request Sockratease 4 461 Last post July 31, 2012, 02:52:25 AM
by toxic-dwarf
Fragmentarium feature request fragmentarium JosLeys 12 789 Last post July 19, 2013, 10:06:28 AM
by Roquen
feature/functionality request Synthclipse cKleinhuis 1 81 Last post August 25, 2014, 07:17:02 PM
by _revers_

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2013, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.747 seconds with 31 queries. (Pretty URLs adds 0.017s, 2q)