Skip to Main Content
fract-olBack to Top

fract-ol

View on GitHub

Fract-ol is a graphical application written in C using the MinilibX library. It renders the Mandelbrot and Julia sets, allowing for real-time navigation and zooming within the fractal boundaries.

Unlike OpenGL, MinilibX is a CPU-based graphics library, so it lacks hardware acceleration. To manage performance, I had to implement mathematical optimizations and replace some standard functions with bitwise operations to keep the rendering speed acceptable.

The project focuses on optimization and event handling to ensure smooth rendering during zoom and movement.

Features

Installation & Usage

This project runs on Linux (Fedora/Ubuntu). You will need gcc and make installed.

Install Dependencies

First, ensure you have the X11 and Zlib development libraries installed.

Clone and Compile

git clone https://github.com/AliGaygisiz/fract-ol
cd fract-ol
make

Run

./fractol Mandelbrot
# Options: Mandelbrot, Julia

Keybindings

KeyAction
Mouse WheelZoom In / Out (at mouse position)
Arrow KeysMove the view (Up, Down, Left, Right)
CCycle through color palettes
JChange Julia set parameters
ESC / QQuit the application

zoomed in mandelbrot set view in pink color

julia set view in cyan color

zoomed in julia set view in cyan color