Octo Fractalis is a C++20 fractal viewer designed for exploring Mandelbrot and Julia sets across multiple number systems:
- Complex (2D)
- Quaternion (4D)
- Octonion (8D)
It supports custom equations with arbitrary operators and functions, and can run either as an interactive UI or a lightweight CLI.
Tested on:
- Windows 11 (MSVC)
- Linux (Debian / Ubuntu)
- Android (CLI mode on Termux)
- Number Spaces: Complex, Quaternion, Octonion
- Fractal Types: Mandelbrot & Julia (fully customizable equations)
- Fast CPU Rendering: OpenMP + SIMD (AVX2)
- Dual Modes:
- UI (SDL3 + Dear ImGui + lodepng + stb_image.h)
- CLI (fast and minimal + lodepng + stb_image.h)
Precompiled builds are available in the Releases section:
π https://github.com/Ar57m/octofractalis/releases
- Windows (x64) β
octofractalis-win-x64.zip - Linux (x64) β
octofractalis-linux-x64.tar.gz
These builds are compiled for 64-bit systems.
If they don't run on your machine, try building from source.
- Download the archive for your platform
- Extract it
- Run
octofractalis.exe(Windows) or./octofractalis(Linux)
β οΈ This project uses submodules (ImGui). You must include them if you want to compile the UI mode.
git clone --recurse-submodules https://github.com/Ar57m/octofractalis
cd octofractalisIf you already cloned:
git submodule update --init --recursive-
C++20 compiler
- GCC / Clang (Linux / Termux)
- MSVC (2019 tested on Windows)
-
OpenMP support
- SDL3
Place the prebuilt SDL3 lib folder inside:
libs/
The build script will automatically compile SDL3 if not found.
But make sure you have:
sudo apt install build-essential cmakeRun inside a Developer Command Prompt:
build.batbuild.bat --clichmod +x build.sh./build.sh./build.sh --cliCLI mode is recommended:
pkg install build-essential cmake
chmod +x build.sh
./build.sh --cli| Flag | Description |
|---|---|
--cpu |
CPU mode (default) |
--cli |
No UI binary |
--float |
32-bit precision (faster, less depth) |
--double |
64-bit precision (default) |
--share |
Portable binary (no AVX2, runs on older CPUs) |
./octofractalis # Linux
octofractalis.exe # Windows./octofractalis-cli
octofractalis-cli.exeCLI help:
./octofractalis-cli -h
octofractalis-cli.exe -h- Deep zooms are limited by floating-point precision
float= faster, less stabledouble= slower, much deeper zoom- AVX2 is enabled by default (disable with
--share)
If you find this project useful:
0x190ac445974a989a87dd223f212a76ca0090c804



