A lot of sites have reported that a new, interesting 3D version of the Mandelbrot set has been discovered. The Mandelbulb has aesthetic qualities similar to Quaternion-Julia sets, but seems more diverse and suited for exploration.
>
“Cave of Lost Secrets” from Skytopia.
Skytopia has a great overview complete with many stunning images.
A good way to view the basic structure is this 56 Megapixel render from Skytopia (using the Seadragon viewer – requires Silverlight):
Recent posts by Iñigo Quílez (who produced the Kindernoiser Quaternion-Julia set GPU renderer) indicate that he is very to close to completing a fast GPU implementation. These posts also include the basic source-code, which I believe should make it possible to port to other targets, for instance Pixel Bender. Apparently Quílez has cooked up a distance estimator, and a fake ambient occlusion scheme (based on orbit traps) for these Mandelbulbs, which sounds very promising.
Hi,
If you want software to draw it, try using povray and isosurfaces. I added my own userdefined function in C++ to do it but you could easily define it using their own function language. Especially if you unroll about 8 iterations into 1 expression 😉 otherwise check out POVRay related experiment and explore the mandelbulb on your own!
http://softwareprocess.us/index.cgi/Mandelbulb
Hi Abram,
That’s a nice solution – but I think it works best by compiling a custom function into POV-ray as you do, right?
I don’t think POV-ray allows true conditionals in the internal functional language – so I guess you suggest unrolling the ‘while’-loop a fixed number of iterations using pre-processor loops? I have a feeling this will be somewhat slow, compared to the compiled-in version 🙂
But thanks for sharing your implementation!
I’m almost there with a Pixel Bender version, from which it should be easy to convert to GLSL and then use with WebGL in the browser…. 🙂
Hi Tom,
I had a feeling that you were working on something!
Looking forward to the Pixel Bender version (I guess finding a WebGL implementation on Windows will bw somewhat difficult :-))
I’ve released PixelBender and QuartzComposer Mandelbulb renderers. See this post for more info:
http://www.subblue.com/blog/2009/12/13/mandelbulb
Hi Subblue,
Right now I’m in Milano (at a Generative Art conference actually), but when I get home, I’ll add a blog post with an overview of the different GPU implementations. As always, I think your implementation looks very impressive.
Subblue, your version of the shader is very excellent ! (i’ve tried it)