Mandelbrot and Mandelbulb

comments 22
Featured Video Play Icon

The Mandelbrot set – the mythical King of fractals. The one that started the whole fractal craze in the 80s and 90s. In this video we’ll implement not only a classic Mandelbrot set that will yield the omnipresent image of that weirdish ridged shape, but we’re also gonna build a setup that will allow us to generate a 3-dimensional realtive of it: The Mandelbulb.

Download Mandelbrot project file here
Download Mandelbulb project file here

Daniel Shiffman’s Youtube Channel
Great Resource on Mandelbulb Fractals

Share on FacebookTweet about this on TwitterPin on PinterestEmail this to someoneShare on LinkedInShare on Google+


  1. gasta says

    Can’t wait to start on this!
    Thanks so much guys!

  2. You guys repeatedly read my mind, following my interests in learning procedural math stuff. you’re a blessing! Thanks a lot!

  3. Stefan says

    Hello guys thanks for the great tutorials!
    I have a little problem
    I constantly get an error on the Mandelbrot part
    At the first line i get an error whitch higlights “M” in “Mandel” word and it says “syntax error, unexpecting identifier, expecting “;””
    Tried to download yor project and it has the same error


    Thanks in advance!

    • Moritz says

      Hey Stefan,

      hm – that is strange. I rechecked the file and on Houdini 15.5 it runs fine. My best guess would be that some implementation detail for VEX changed from your Houdini version to 15.5.xx – have you tried updating to a current version?


    • Tim says

      Hi Stefan,

      I’m having the same problem, also using I checked the documentation for user defined function syntax and didn’t find anything helpful. Let me know if you found the solution!


      • Moritz says

        Hi Tim, Stefan,
        well then it might even be a bug… No clue to be honest but judging from a comment we got on Vimeo, upgrading to a current 15.5 version fixes the issue – So I’d simply do that and not worry too much about it. 🙂

    • Marc says

      I know this is an old tutorial but …

      I had the same problem with this version of Houdini, it seems that ‘function’ keyword used to define a function is optional. So:

      function int functionName(params){ //do_something } can be written just as:

      int functionName(params){ //do_something }

      This solved it for me.

      • Prafull Sharma says

        thanks.,. your idea solved my problem. 🙂

  4. Prafull Sharma says

    How Can I Animate This .,.,.
    From “N” Value ?

    • Moritz says

      Yes, animating N would be one option… 🙂

      • Prafull Sharma says

        Thanks for your reply. This Video is amazing. Thank you so much guys for bringing a great way to learn houdini.
        There is one more question in my mind
        how can i get the different type of loops in this ?
        like i watched so many different video on video in which i saw they looping in a different way
        in my vex i got only one type of looping, how can i get those different type of fractal?
        can we get by changing >8 this value ?
        help me.

  5. Moros says

    Hi guys, thanks so much for all your work (starting houdini and your stuff is amazing).

    Quick question though, any idea why this isn’t working in houdini 16 (16.0.600)? I even copied pasted the code from your file but all I can see in the viewport is a black rectangle in the middle of my grid instead of the desired result at 11:30.

    • Moros says

      um, my bad actually, I had set the grid in the yz orientation… I can now indulge in my noobish mistake.

      Once more, thanks for spending the time to make these tutorials!!!

  6. Isaac K says

    I’m wandering why you chose to render the volume directly. In my tests rendering the volume took about 10x longer than converting to polys and rendering that – and it didint look any better.

    Am I missing something?

  7. How do you wrap your mind around so many different concepts so fast?! 😀
    I’m really impressed! Another very cool tutorial! Thanks a lot!

  8. M K says


    First of all, thank you for the amazing tutorial.
    When changing the Uniform Sampling in the volume and setting a really high number (I tried 4096), I just got an error, something like out of memory. I wonder if there are any ways to save the calculated mandelbulb onto the disk instead of into the RAM? I hope it can be solved, because I’d still love to increase the details on mine.

    Thanks in advance.

    • M K says

      I tried to use the cache thing, but it doesn’t work, since it first saves to ram and only after to the disk. :/

    • Moritz says

      Hey MK,

      I have the feeling that the best way to (massively) increase the detail of your fractal without hitting RAM limits too early would be a volume procedural. Thus Mantra evaluates the fractal at render time and saves memory while generating a very high level of detail.

      Thomas Dotheij proposed (and also built) this setup in a comment on Vimeo:

      “there you are :
      i hope it can be of some interest for some 🙂
      the final quality of the volume is mostly driven by the volume quality parameter on the render output”


  9. kush says

    Is there a way to use this setup on a geo that we created and brought in as an .obj? Thanks for your help!

Leave a Reply

Your email address will not be published. Required fields are marked *