Skip to content

Simple C++ off screen raster graphics library

License

Notifications You must be signed in to change notification settings

richmit/mraster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5a9b10e · Mar 11, 2025
Oct 31, 2024
Jan 24, 2025
Jan 29, 2025
Mar 11, 2025
Mar 11, 2025
Jan 28, 2025
Mar 7, 2025
Jan 29, 2025
Feb 14, 2025
Mar 11, 2025
Oct 31, 2024
Jan 27, 2025
Jul 10, 2016
Jan 25, 2025
Feb 18, 2025
Jan 30, 2025

Repository files navigation

Introduction

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:

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/

Getting Started

For more detail read the quick start guide!

To use this code, TWO repositories must be cloned – this one and a basic mathematical library. The mathematical library should then be configured. Finally you can build the examples in this repository. This all might be done on the command line with linux, MacOS, or windows (MSYS2 or WSL) with a sequence of commands like the following:

git clone 'https://github.com/richmit/MRMathCPP.git'    # Download MRMathCPP
cd MRMathCPP/build                                      # Change directory to 'build'
cmake ..                                                # Configure the build system with cmake
cd ../..                                                # Change directory back to where we started
git clone 'https://github.com/richmit/mraster.git'      # Download MRaster
cd mraster/build                                        # Change directory to 'build'
cmake ..                                                # Configure the build system with cmake
cmake --build . -t examples                             # Build all the examples

While I normally work on the command line, CMake is fully compatible with several IDEs including Microsoft Visual Studio. For more on this topic, see the quick start guide.

Versions

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.

docs/pics/gallery/apollonian_gasket_2D_01_250.jpg