Installing Fr0st in Ubuntu

May 22, 2010

I finally got an install script for linux users written and tested. It will install all dependencies of fr0st, including downloading and compiling flam3. So far it has only be tested under Ubuntu 10.04, so I’d appreciate any feedback from people installing fr0st on other releases/distros.

The file will start to be distributed with the 1.2 version of fr0st. For now, you can get it directly from here:


This can be used to run code from the 1.1 release ( as well as the development version from the bazaar repo (“bzr branch lp:fr0st fr0st”)

If you run into any problem using this file, please let me know so I can make corrections. Thanks!

Fractal Fr0st 1.1 Released

April 20, 2010

Fr0st 1.1 has been released! Get the dowload files here:

There are lots of changes and improvements in this version:

-Added vibrancy to adjust panel
-Xform editor now handles post and final xforms much more intuitively.
-Hide irrelevant tabs when post or final xform is selected
-Preview and render dialogs now show rendering info in their title bars.
-Opening files is now faster.
-Eliminated several sources of slowdown when handling very large files.
-Don’t render thumbnails when opening large files.
-Quality of jpg renders can now be configured. Default is 95.
-Can now paste multiple flames at once.
-If a script causes an error, a helpful dialog with all details is shown.
-If fr0st crashes or the computer loses power, unsaved changes are recovered next time it is opened.

Flam3 integration:
-Rendering now 5-10% faster due to better integration with the GUI.
-Default buffer size is now 64-bit, making for another 10% speed improvement. Also improves performance of thumbnail and preview images.
-Images with non-black backgrounds now render correctly on windows.

Flam4 integration:
-Can now render transparent backgrounds.
-Fixed bug where black image was returned when changing certain parameters.

-No longer have to compile extension module when installing on linux.

Various bugfixes:
-Fixed possible error when editing flame names.
-Fixed possible error when dragging flames around.
-Check for invalid paths (i.e. malformed or pointing to a read-only dir), and handle them correctly.
-Many, many more.

If you need help or have any questions, you can stop by the mailing list:

or go to the #fr0st-users irc channel at

Feedback and bug reports are very much appreciated.

Why you should prefer 64-bit buffers

April 19, 2010

In the next release of fr0st, it will use 64-bit buffers when rendering previews and thumbnails. This has increased rendering speed by about 10%.

Where does this speedup come from? It’s pretty simple: All math for the iterations is done in 64-bit no matter what. Therefore, when using a 32-bit buffer, flam3 has to cast from double to float and check for overflow at each iteration. In layman’s terms, you always calculate the fractal very precisely, but if you use a smaller buffer, you need to ’round’ the numbers to fit them into the available space, which makes the rendering process slower and less accurate.

There are some boundary conditions in which the compounded rounding error caused by using the smaller buffer creates a slight shift in color when changing opacity. This can be very visible when creating animations.

The downside is of course double memory usage. But I still recommend to use a 64-bit buffer for rendering whenever possible. It’s worth sacrificing a bit of oversample to do so (as long as you never reduce it below 2!). If you’re rendering huge images where memory is at a premium, you might be forced to reduce the buffer to 32-bit, but I would only do that if the alternative was rendering in slices.

Using Fr0st with Electric Sheep

December 28, 2009

Right now, it’s not easy to use fr0st for generating sheep that are accepted by the electric sheep. Fr0st is built on flam3 2.8 (the latest version), while electric sheep is still on 2.7. This means there are incompatibilities in the file format, invalid variations, etc.

I’ve been working on a script that addresses this problem. It’s still a beta version, so please don’t trust its output blindly, and let me know of any problems. You can get the script here:

This script will take the currently selected flame, attempt to convert it, and save it to a separate file.

New Beta Released!

December 28, 2009

You know what to do. Get it here:

Fr0st tips & tricks

December 9, 2009

I’ve aimed to make the fr0st interface as discoverable as possible. There are a couple of features hidden away, however, so I figured it’s important to write them down before they get lost in the sands of time, to be dug up by some lucky soul excavating through the source code.

Mouse Wheel + Ctrl and/or Alt

This sounds harder than it is, so let me explain:

Hold down ctrl while the mouse is on top of any textbox, and you can change its value by scrolling with the mouse wheel. Instead of ctrl, you can also hold ctrl+alt or just alt to get slower scaling. This works on top of virtually any textbox, including variations, chaos, color, weight, etc.

Preview Image

The above method also works on top of the preview image, where it changes the scale of the fractal. You should also try dragging the preview around with the mouse.

Double-Clicking Variations

Double clicking on the variation name will make the variation jump to 1 if it was at 0, and to 0 otherwise. This should be pretty familiar to those coming from Apophysis.

Keyboard Shortcuts

All keyboard shortcuts can be discovered just by looking at the menu items. Here are some of my favorites:

-F8 runs a script; F9 interrupts it
-Ctrl-z undoes the last change, while ctrl-shift-z undoes all changes. Same with y for redo.
-Ctrl-p opens the preview, ctrl-r the renderer and ctrl-e the script editor.

Copy & Paste

with ctrl-c and ctrl-v you can copy and paste fractals to and from fr0st into other programs such as text editors and other fractal programs.

Does any of this help you make better fractals? Of course not, but it does free up your mind to focus on the creation of art instead of struggling with the program. A good interface is one that fades into the background, turning almost invisible. I’m not sure we have achieved that quite yet, but we’re heading there.

Have fun with these tricks!

First beta released

December 1, 2009

The last few months have involved lots of coding, and very little writing about it. In that time, I took fr0st from an idea in my head to a fully fledged, cross-platform app. I didn’t do it alone of course. The project wouldn’t be where it is today without the help of several contributors who have really made a huge impact.

I’m really proud of fr0st and how it’s turned out. Code speaks louder than words of course, so I’ll just let the former do the talking.