A program for calculating and rendering a Nebulabrot image.



License: MIT



A program for calculating and rendering a Nebulabrot image.

Dependencies / Libraries

nebula2 uses these libraries:

Get the sources

Using git

git clone
cd nebula2
git submodule init
git submodule update

As .tar.bz2 archive


Simply run make in this directory.

If you have a CPU that does not support SSE2 you should remove the -DHAVE_SSE2 part of the SFMTFLAGS variable in the Makefile.


nebula2 needs a config file. It is an ini file. All parameters must belong to the section [nebula2].

Config parameters

See example.ini for an example.

Aborting and continuing calculation.

Calculation can be aborted by sending the SIGINT signal to the nebula2 process (this can usually be achieved by pressing Ctrl + C in the terminal with the nebula2 process). Stopping the job might take a while (it needs to save the current state. Also the image is rendered).

You can continue the calculation by simply executing nebula2 with the same config file again (if the statefile is still there).

Displaying progress

When you send the SIGUSR1 signal to the nebula2 process, it will display the number of jobs that still need to be calculated. It might stay pretty long at 0 open jobs, since it will render the image then (which can take some time on large images).

You can use this shell snippet to display the progress continuously:

while true; do kill -SIGUSR1 <PID of nebula2 job>; sleep 1; done


Only tested on Linux, might or might not work on other *nix systems.

Will definetly not work under Windows without some compatibility layer like Cygwin.

Where is nebula1?

nebula1 is very ugly and difficult to use and will therefore not be published. Some code of it is recycled in nebula2, though.