isosceles
|
|
« 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
|
|
|
|
Buddhi
|
|
« 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
|
|
« 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.pdfCheck 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. 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
|
|
« 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
|
|
« 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
|
|
« 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
|
|
« 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
|
|
« 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...
|
|
|
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. 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
|
|
« 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. 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
|
|
« 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
|
|
« 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)
|
|
|
|