Marek's blog

Mamex - Marek's Mandelbrot explorer

Mamex is a Mandelbrot set rendering library written in C# and supports arbitrary precision (provided by GMP) for infinite zoom. The explorer can visualize Mandelbrot and Julia sets and has many additional features such as interactive color gradient editor, projections support, and batch rendering. Custom anti-aliasing algorithm, sharpening, and color dithering algorithms yields beautiful results.

Summary

Unfortunately, I have never got time to write a detailed article about this project and the source code has some licensing issues with libraries, so it's not on GitHub (yet). I hope to return to this project in the future since it has lots of cool features.

Highlights of the project are:

  • Fast Mandelbrot set rendering utilizing multi-threading written in fully-managed code.
  • Ability to switch to arbitrary-precision mode implemented by GMP C++ library (bridged with C++/CLI).
  • Interactive gradient editor that can apply new colors instantly (without expensive recomputation).
  • Support for linear and non-linear projections.
  • Ability to render very large images using tiling.
  • Custom dithering for smoother gradients (explained in post Is 16.7 million colors enough?).
  • XML-based saving of regions of interest, each loaded region has a preview for easier organization.
This post is licensed under CC BY 4.0 by the author.