MRaster is a very simple C++ library for generating raster images – espeically things like fractals.
It is designed to be easy enough for beginners, but advanced enough for experts. It integrates well into existing code, uses pure C++20, requires no external dependencies, and is quite fast.
Some examples of what can be done with MRaster:
- Mandelbrot Mountains
- Newton Fractal
- Burning Ship
- Multibrot Fractals
- Mandelbrot Iteration Movie
- Tricorn Fractal
- Collatz Fractal
- Tippets Fractal
- Dancing Biomorphs
- Pickover Popcorn
- Mandelbrot Biomorph
- Inverted Mandelbrot
- Mandelbrot Wave
- Peter de Jong Fractal
- Symmetric Fractals
- Tinkerbell
- Hopalong Fractals
- Chaos Game
- Apollonian Gasket
- Attracting Torus
- Julia Sets
- Circle Art
- Some desktop backgrounds
For a bit more detail about MRaster: https://richmit.github.io/mraster/index.html
A quick start guide: https://richmit.github.io/mraster/QuickStart.html
Color schemes included in MRaster: https://richmit.github.io/mraster/ColorSchemes.html
API Documentation: https://www.mitchr.me/SS/mraster/doc-lib/autodocs/html/index.html
Example Documentation: https://www.mitchr.me/SS/mraster/doc-examples/autodocs/html/index.html
The code: https://github.com/richmit/mraster/
This library has defined “releases” intended to identify a stable snapshot of the code – they are tagged in git with a tag name starting with a “v”. If you are looking for stability, then get the latest one.
That said, I try to only commit complete, working code. So I think
it’s pretty safe for most people to just pull HEAD
– i.e. just do a
regular git clone.
The change log
has entries for each release as well as a section for what has changed
on HEAD
since the last release.