scribble
About Writings Works Readings

Fractal Photographer 3D

Fractal Photographer 3D is an application I developed in June-July 2013. It started when I noticed that my Fractal Photographer had been featured, albeit for only 3 second, in a Leap Motion promotional video. As the Leap Motion is an excellent way to handle 3D input, my first idea was to create an application that would render the Mandelbulb/Mandelbox fractals in real-time - something which, thanks to a technique called distance estimation, is possible in real-time! Some screenshots shown below.

Screen1 Screen2 Screen3

So what happened to the project and why is no download link provided? Technically, if you have a Leap Motion Controller, you could install my app and render a few fractals. Unfortunately, I failed at making navigation robust enough - the frame rate is very inconsistent, leading to a choppy experience. This is due to an error in judgement on my part. I really wanted to finish this project before the end of the summer, as I usually have very little free time during the school term. However, this was a pretty difficult project to begin with, I had just learned DirectX and was one of the first developers to use the Leap Motion SDK. As such, to get it done in time, most of my software was hackathon-like : full of hacks and layers of band-aid patches one on top of another.

What happens in those situations? The software eventually crumbles from the weight of its own bugs piling up. Normally I could deal with this in a few days by refactoring here and there. In this case, the issues are pretty deep (threading timing, CPU-GPU interactions, GPU blocking the main thread, etc) and my understanding is that to fix it, I'd pretty much need to rewrite the whole thing.

Maybe I'll back to this project one day. I developed Fractal Photographer (2D) because most fractals renderer out there really suck, they provide a poor user exprience (I conjecture that this is because the basic algorithm for rendering a fractal is extremely simple and most people don't bother making effort once they render the first image). This is the same reason why I wanted to create Fractal Photographer (3D) - there isn't a single good one out there. It's not that they are necessarily bad per se, but they fall in two categories : really simple proof-of-concept or really complicated with an UI requiring a steep learning curve and/or lack of real-time/smooth navigation - those are made for hardcore fractal artists.

There's not a single one that is both simple and fun to use, and has enough features to generate beautiful images worthy of being posted on deviantart. An ideal 3d fractal renderer should be addictive, mesmerizing the user into exploring forever and ever.

Well, in the meantime, a few of the better renders I managed to take with my (incomplete) software are shown below (click to enlarge) :

Render 20
Render 18
Render 17
Render 15
Render 14