Looking for a good mandelbrot set program...

Guden Oden

Senior Member
Legend
Humus' demo intrigued me, but it only allows extremely limited zooming before graphics gets screwed up completely. I'm looking for something that'll go DEEP. :D Also nice if it is relatively fast also, if the two are even possible to intermix... :)
 
Years ago fractint was the one to go for, I don't know if that is still the case.
http://spanky.triumf.ca/www/fractint/fractint.html

I recall being amazed at how fast fractint was. My first mandelbrot routine took about 4 minutes to complete, that was cut down to 2 minutes when I started mirroring around i=0 (although that optimization is not always valid).
I then dropped to 30 secs by using integer math.

Fractint took about a second!

CC
 
I have actually written a Mandelbrot SDK sample at work which goes a whole lot farther than my old demo. It didn't make it into the new SDK that was released on GDC though. It ping-pongs between render targets in a multipass implementation, so it has a lot more iterations. It also takes special care of the banding that usually occurs because of the discreet nature of how it's computed, so the banding is pretty much entirely gone. I've also implemented a software reference path.

Some sample images, rendered at 1920x1200 with 64x supersampling:
(56k warning!)
http://esprit.campus.luth.se/~humus/temp/Mandelbrot05.png
http://esprit.campus.luth.se/~humus/temp/Mandelbrot13.png
http://esprit.campus.luth.se/~humus/temp/Mandelbrot15.png
 
So why aren't you releasing that program then? :p Still haven't found a decent program that allows for deep zooming. I tried a random program and it seemed decent enough, but the image broke up into blocks just when things started to get interesting...
 
Guden Oden said:
So why aren't you releasing that program then? :p Still haven't found a decent program that allows for deep zooming. I tried a random program and it seemed decent enough, but the image broke up into blocks just when things started to get interesting...
Well.. you could always code your own using the Gnu multiprecision libraries. You should be able to zoom until your mouse finger snaps off :)
 
Man, you have no idea how many times I wished I could program, but unfortunately all I'm any damn good at is making smartass remarks on web forums! :D Sorry, but I'm a lost cause when it comes to programming. I have lots of good IDEAS, just no knowledge of how to implement them...
 
Again wikipedia comes to the rescue; Xaos is pretty darn good actually. Only been fooling around with it, but it gives real good speed in a fullscreen window at 1280, and it can zoom deep. Dunno if it's MEGA deep tho as I have no frame of reference, but it's sure a LOT deeper than that other mandelbrot program I tried before this one... Set it to 2000 iteratoions and it doesn't run out detail precision until the image becomes a bunch of legos. At only 1000 iterations the snaky little tendrils become blobs and then disappear after zooming in beyond a certain level.

Now I just wanna test Humus' new and improved one too, that'd be cool being able to use my vidcard to render. Hopefully much faster too than with the CPU, but dunno how precise it would be compared to a full software renderer...
 
I once asked this very same question and I was recommended Ultra Fractal. Apparently this is popular and is used professionally to render fractal posters. The person who answered me when I was looking for fractal software told me that people run some very complex fractals in their spare time and sell to make some actual money out of their hobby. This was a newsflash to me because I never thought about them that way (I don't think I would ever buy a fractal poster. maybe that's why). Anyway, I think this was the one. I was recommended some other one but cannot recall which one. Ultra Fractal should be highly configurable and quite fast (I only tried a limited demo and never "got into it").
 
Guden Oden said:
Now I just wanna test Humus' new and improved one too, that'd be cool being able to use my vidcard to render. Hopefully much faster too than with the CPU, but dunno how precise it would be compared to a full software renderer...

That's one of the reasons why it wasn't included in the SDK, it's presently very slow. It's actually even slower to use hardware than software. It used to be the other way around, until a driver bug got fixed, which corrected a mis-behavior with sharing shaders across GL contexts, but the fix unfortunately slowed down this app to a crawl. So until that fix gets fixed it's not really in a releasable state. I'm going to implement FBO support in the SDK framework though, so I'll probably be able to dodge this issue if it's not getting fixed before.
Speaking of precision, 24bit is of course a bit on the low side for mandelbrot rendering. But you can go a bit longer than my old demo did and extract more detail. But for deeper zooming, you'd probably want at least 64bit. The x86 FPU is 80bit which allows for quite deep zooming. Unfortunately, MSVC doesn't have any 80bit float types, the long double is only 64bit like a regular double, so 80bit mode is only available in Linux in my sample.
Quality-wise, the output is a lot better than that Xaos app. And of course there's a built-in screenshot grabbing function that renders screen-sized pictures with 64x supersampling for desktop background purpose. :p
 
Back
Top