Tutorial: Oxidizer 0.3 Fractal Flames

by Scott Chitwood • Monday March 19th, 2007
Posted in More Than Words, Tips and Tricks, Using Oxidizer

While this article is helpful it was written with an ancient release of Oxidizer and things have changed dramatically over time.  With that in mind we’re keeping the article online for historical purposes; please take a detour over to our Introduction to Oxidizer tutorial over in the wiki — you’ll find up to date info on using Oxidizer in it’s present state.

Back in mid February of 2007 I took a brief look at Oxidizer as a Quick Review to share my excitement for what appeared to be a relatively unknown native Mac OS X application for rendering fractal flames. Now, several weeks later, and with a good number of nice flames rendered, the time is right for a follow up report. The primary idea for this tutorial is to pass on what I’ve learned, which admittedly, just covers some basic procedures. This article does not document the full range of Oxidizer’s capabilities; it does however, give one a good point from which to start exploring.

Before you get started.

Oxidizer Fractal FlameThe most important piece of information you need to know up front is Oxidizer requires a two part file save process; flame and image. The end result is a beautifully rendered fractal flame saved as a Photoshop file. But that’s putting the horse ahead of the cart. Just as critical, and even more so, is saving the native flame file before the image is rendered; the extension is .flam3. So, save as flam3, then save (render) the flame to one of the available image formats. Don’t skip saving the flam3 file — two solid days of program crashes taught me that lesson very well. Once I started saving, crashes have been almost non-existent.

Another thing one needs to be prepared for is lengthy render times. Depending on image size, complexity and quality settings a fractal flame can take several hours or several days to completely write. Patience Grasshopper; let Oxidizer run in the background while you mess around in Photoshop.

If you’d like to learn about the math concepts behind flam3 files be sure to check out the documentation links at Flam3.com.

Application Overview.

Launch Oxidizer and have a quick look at the toolbar and other items in the primary window.

  • Open and Save. Open an existing flam3 file; save a flam3 file.
  • Render. Export flam3 file as a static image.
  • Animate. Export flam3 file as a movie.
  • Breeder. Powerful tool for cross-breeding and mutating flam3 files.
  • Gene Pool. Create and cross-breed up to sixteen fractal flames.

Primary Window

figure 1, Primary Window.

There are two fields below the toolbar.

  • On the left, a column for displaying open flames along with buttons at the bottom for adding, editing, or deleting selected flames from the list.
  • On the right, are the environmental controls; I have not made any alterations to those default settings in my current explorations of Oxidizer.

Wading in the Gene Pool.

There are three places one can generate basic fractal flames in Oxidizer; the primary window, Breeder, and Gene Pool. Of these options, the Gene Pool is the best place to start as it has sixteen image wells. Just hit the ‘Fill’ button to get the process rolling. See all those pretty flames, nice!

Gene Pool

figure 2, Gene Pool.

Now, select two or more flames and hit ‘Breed’ to fill the image wells with cross-bred variants of your selected flames; more selections = more variety. Repeat as many times as you like or ‘Toggle’ all wells and ‘Fill’ them again to start from square one.

Gene Gene Pool with selected Flames

figure 3, Gene Pool with selected Flames.

Once you have a flame that trips your fancy, select it and send it to the primary window via the ‘Editor’ button. Switch to the primary window and save your flam3 file. Now it’s time to go in and make some big changes; select your flame and open it using the ‘Edit’ button at the bottom of the list area.

Lighting the flame.

The ‘Flame’ window has five tabs, each with a specific job to do.

  • Image. Settings for dimensions, rotation, symmetry and more.
  • Colour. Choose a gradient to apply to your flame; settings to control brightness, gamma, background colour and more.
  • Render. Quality, filtering and a lot of other options I haven’t toyed with.
  • XForms. Select and edit the various fractal components of your flame. Powerful stuff, this is a fun playground for mathemagicians.
  • Edit. Access point for editing XML information for your flame. Can also be set globally in Oxidizer’s prefences.

Flame Window Tabs

figure 4, Flame Window Tabs.

What’s the best way to determine image size for rendering fractal flames? If the intended use is for desktop pictures, then the very least one should do is make an image that matches current monitor settings. If the rendered flame will be shared with others via web site downloads one should think big — really big. Just about anything I put up here at the Rampant Ranch™ has a native resolution of 2800×2100 pixels. This allows images to be scaled down or cropped to a nice array of widescreen, 4:3, or any other custom dimesion that may be needed.

Flame Window Image Tab

figure 5, Flame Window Image Tab.

It will be necessary to adjust the ‘Zoom’ setting in order to fill the working canvas once the image size has been altered so dramatically from the 128×128 default. Zooming somewhere between 3.4 – 4.2 has worked very well for my renders, but don’t let that limit your explorations of how much or how little zoom to use.

* * * NOTE * * *

Please take a moment to check out a pair of updated ideas on using ‘Zoom’; Scale and Zoom Settings and Living without zoom. Then pop back into this article to finish up.

Position, rotation and symmetry are subjective in nature. Each of us will see those things differently and that’s exactly how it should be. Self-appointed gurus shouldn’t dictate a fixed notion of what is or isn’t acceptable. Let the artist decide!

And the same principals apply to choosing the colour palette for a flame. From what I’ve seen the default color usually makes for a great starting point but it’s always fun to experiment with colours. Save the default flam3 file, then tweak the colour and save again as a variant of the first. Heck, save an abundance of variants — the thumbnails make a nice a little tool for comparing flames in the Finder.

Flame Window Colour Tab

figure 6, Flame Window Colour Tab.

Flame Colour Variants

figure 7, Flame Colour Variants.

There are five optional settings to mess with in the Colour tab; Brightness, Vibrancy, Gamma, Gamma Threshold, Background Colour. You’re on your own here — mess around and have some fun!

When a flame is first created the ‘Quality’ setting in the ‘Render’ tab defaults to 25. Being overly cautious to not err on the side of too little quality I tried some renders dialed all the way up to 800. Then, steadily dropping quality back down, I found that a setting of 100 had no discernable differences when compared to the same image rendered at 800.

Flame Window Render Tab

figure 8, Flame Window Render Tab.

And again, other than ‘Filter Type’, there are many options on the ‘Render’ tab I haven’t explored.

That leaves us with the last two tabs; XForms and Edit. As those items are beyond the scope of this article, just hit the text links for each to view screenshots of their contents.

Now that you’ve made some darn cool modifications to your fractal flame save the flam3 file and close the ‘Flame’ window. Time to render that magnificent creation as a static image! Hit the ‘Render’ button, choose a file type, file name and destination. Oxidizer will not add a file extension to the image so you’ll need to drop that on during the naming process.

Image formats are; SGI, Photoshop, BMP, JPEG, PICT, PNG, MacPaint, TIFF, TGA, JP2, QuickTime Image.


bring about, give rise to, produce, generate, stir up.

As noted above, Oxidizer has a stand alone ‘Breeder’ that is a powerful tool for cross-breeding and mutating flam3 files. The best way to use the Breeder is to load it up with existing flam3 files. While it is possible to generate and work with new flames in the Breeder my delvings been much more successful (and less crash prone) by loading from my little library of flam3 files.

This tool is pretty basic. Load a flame in left and right columns, then start punching buttons to see what each one does with the pair of flames. Buttons are; Alternate, Interpolate, Union, Mutate.

Breeder Window

figure 9, Breeder Window.

Flames generated by cross-breeding take on a greater degree of complexity and form, and just might make your eyes pop in wonder with how cool the results are. Neat stuff happens in here! Hit the ‘Edit’ button to send that cross-bred monster to the primary window, save the flam3 file, and head back into the Breeder for more fun.

Post Processing Tips.

Fractal flame images generated by Oxidizer are quite beautiful and stand up on their own very easily. You can, however, take them up a notch or two by fine tuning colour and contrast in Photoshop or other image editing software.

Got flames?

Shout back at me in the article comments if you have any follow up questions, and be sure to share links for Oxidizer images you toss up out there on the internet dirt road™.

Waiting to pass your 350-001 exams to get a good job and make more money? Testking provides sample exam papers for exams such as VCP-310. These exams are all written by professional who have taken the real exams. These study kits have helped people pass extremely hard tests such as 640-802 and other exams like 70-290.but few exams are not that much difficult like 70-291.


  1. Zoozyq
         March 9, 2008

    I am so happy with Oxidizer, now! I’m getting better results with this new version. Thank you, David! :-)

  2. Mary Taitt
         April 19, 2008

    I am totally new at this. I have a dumb question, probably–all the images on Oxidizer are so TINY–is there a way to view them large before choose which to work with etc? Apophysis seems so much easier than Oxidizer. For a beginner, I mean.

  3. Mary Taitt
         April 19, 2008

    Is there any way to view any of the images at any stage LARGER? How?

  4. David Burnett
         April 19, 2008

    Hi Mary,

    Try a combination of “Size scale” and “Render Still to Window”

  5. Mary Taitt
         April 19, 2008

    Thanks, I will! :-)

  6. Zoozyq
         April 28, 2008


    I usually change the image size up to at least 500×500 and increase the scale as well as some manipulation of the zoom. I preview it to see how it looks in the frame and make more adjustments as needed before I render it. This size doesn’t take forever to render and gives you a better view of the fractal. From there, you may want to make more adjustments and render it even larger. Have fun! ( Be aware that this practice can become very addicting! )

  7. eric:p
         July 2, 2008

    Many, MANY thanks for the terrific (and free) program, David! And many thanks for the tutorial, Scott. Someone earlier mentioned Electric Sheep, and that is indeed the reason I came to Oxidizer. I’ve managed to generate a decent MPEG, but I’m having trouble getting it to run on ES.

    I’ve named it “esp010.mpg” and placed it in the appropriate folder (~user/library/application support/electric sheep — where all the others are), but when I run the screensaver, it says: “Playing animation #0” and does nothing (displays the last frame of the previous animation until I deactivate).

    Is there some naming convention I’m not following? I notice the others all have names like “00202=15117=15036=15079.mpg”..

    Does anyone have ideas or suggestions? I know this isn’t the ES forum, but the ES wiki doesn’t have much Mactivity.

  8. David Burnett
         July 2, 2008

    Hi eric:p, thank you for the kind words.

    Electric Sheep, I see you’ve asked on the list about this and been directed towards supplying genomes. So I’d just add a bit more.

    First in that, despite the mpg suffix the files that ES plays are actually mpeg2 files so you need to encode using either a MPEG2 QT plugin, or a third party MPEG2 encoder like mpegenc as spot suggested. The next version of ES will use MP4 so you should be able to encode directly from Oxidizer and drop them in the folder. It’s that version of ES that Oxidizer targets.

    There is a pattern to the movie naming convention, based on the genomes submitted and breed by the ES server.

    For your example… 00202 is the current flock of sheep, 15117 is the sheep genome at the start, 15117 is the middle genome and 15036 is the end genome. This is what ES calls an ‘edge’, its a transition movie between ‘loops’.

    Loops are movies of rotations of a single genome and they have names where all three genomes are the same number like 00202=12387=12387=12387.mpg. ES, after downloading enough movies, tries then to join these loops and edges to give the effect of a single continuous movie.

    Oh if you decide to submit genomes then remember that as Oxidizer targets the next version of ES, currently in beta, the genomes are not always compatible with the current version. There’s a lua script that comes with Oxidizer, ‘genome_makes_valid_sheep.lua’ that will check a genomes compatibility with the live version.

  9. eric:p
         July 2, 2008

    Yeah, I seem to have gotten the hang of it all. My first sheep is being compiled as we speak.


    Thanks again!

  10. eddyfree
         August 6, 2008

    this is one of the happiest days of my life. for the last three years i have been counting, feeding, de-fleecing, shepherding, re-counting and learning to say, baaaah, baaaeeehhhhh, baaaahhh. finally, i am a genetic scientist! a god if you will.
    come round my little children. let me count you in ways i have never counted you before.

  11. Kanika Nagpal
         February 26, 2009

    Hey, Just downloaded version 0.5.5.
    thank you SO much for this amazing software and tutorial..my eyes have opened into another dimension altogether ; )

  12. Jacob
         March 11, 2009

    The tutorial helped a little bit, but I don’t feel it’s helped me enough that I can get on my own two feet. I’m still wondering how to render the flames so they come out looking like yours or Dao-Yin’s.

    Plus, I’m still confused over the whole Flam3 xml file thing. Some help would be greatly appreciated, you could reply here or email me at djjiggens@gmail.com

  13. Kancano
         March 12, 2009

    Hi Scott,

    Let me thank you for keeping up this blog; it has been a great source of information as I’m learning my way around Oxidizer.
    I would also like to express my gratitude to David Burnett for creating this program. I think it has tremendous potential and I’ll look forward to the upcoming improvements.
    I have created an Oxidizer folder in DA, if you’re interested to have a look:

  14. Scott Chitwood
         March 12, 2009

    @ Jacob » The tutorial is a bit long in the tooth and outdated in some respects. Should have a remedy soon that will get us current and be easily updated for future Oxi releases too.

    Saving your files is two step process. The genome xml, represented by the .flam3 file, and an image or animation that is rendered from the xml.

    It can be somewhat challenging to identify genomes that make good candidates for further tweaking. The best advice I can give is to mess with all of the settings within the Editor window to see what effects they return. Then do some cross breeding in the Breeder as a follow up — work them puppies.

    Also, I make no secret that nearly all of my genomes are hit with some sort of post processing in Photoshop. Sometimes a little, sometimes quite a lot.

    Rather than depend on a closed email discussion for more info I’d like to encourage you to post follow up questions in the forum. That will give other users the opportunity to share knowledge and thereby make the community stronger.

    Scotty out!

  15. Scott Chitwood
         March 12, 2009

    @ Kancano » Nice compositions you’ve got there! Should you ever get the hankering to render some desktop sized images toss a few our way — it’s always a blast to feature artwork by others here at the Ranch™.

  16. memotions
         July 22, 2009

    This has been so helpful! I had used Apophysis on PC for a little over a year and just found Oxidizer for Mac a couple of weeks ago. I fumbled around a bit with some modest results, but your overview gives me the knowledge and inspiration to just keep on experimenting. Thanks so much. You put a lot of work into this. Bravo!

  17. Zoozyq/Linda
         July 25, 2009

    Love the new 5.5 version! So fast!!! I’ve had it a while but was inadvertently starting up the older version. No wonder I wasn’t seeing the changes. LOL Scott, thanks again for all your help in using this wonderful application…as an artist who is totally smitten with Ox it means a lot. LOL

  18. Scott Chitwood
         August 2, 2009

    You can grab from this post :^)

  19. brunorc
         March 6, 2010

    First of all – thanks for Oxidizer and thanks for this tutorial. I’m working with animations and effects are just amazing. But I cannot find any “knob” that would control the speed of the movement (sometimes I’d like to really slow things down). Is the Transformation Editor the right place to do things like this? (I’ve found myself a little bit overwhelmed with it, at the moment).
    Anyway, it gave me a lot of fun and inspiration. Thanks!

  20. Scott Chitwood
         March 6, 2010

    After all this time I still haven’t played with animation in Oxidizer so I’m not sure if Ralf covers that topic in his animation tutorial in the Wiki.  Check ’em out here; Part I, and Part II.

  21. yNES
         January 6, 2011


    Program seems to be awesome and tutorial was very helpful.
    I just started and apparently I’ve got problems with setting the time cause I get always this message while trying to render/animate:
    error: control points must be sorted by time, but 100 <= 100, index 1.

    I've tried different time settings but none of them worked…
    please help!

  22. yNES
         January 6, 2011

    got it sorted =)

Sorry, comments for this entry are closed at this time.