https://github.com/xalpharax/shader-fractals
Playing around with OpenGL, GLSL, GLFW, GLEW by making Interactive Fractal Visualizations for Mandelbrot, Julia and more.
https://github.com/xalpharax/shader-fractals
fractal fractal-images fractal-rendering fractals glew glfw glsl glsl-shader glsl-shaders interactive interactive-visualizations julia-set mandelbrot mandelbrot-fractal mandelbrot-set opengl
Last synced: about 1 month ago
JSON representation
Playing around with OpenGL, GLSL, GLFW, GLEW by making Interactive Fractal Visualizations for Mandelbrot, Julia and more.
- Host: GitHub
- URL: https://github.com/xalpharax/shader-fractals
- Owner: xAlpharax
- License: agpl-3.0
- Created: 2024-11-26T12:22:57.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-02-21T20:18:00.000Z (8 months ago)
- Last Synced: 2025-04-14T11:45:07.258Z (6 months ago)
- Topics: fractal, fractal-images, fractal-rendering, fractals, glew, glfw, glsl, glsl-shader, glsl-shaders, interactive, interactive-visualizations, julia-set, mandelbrot, mandelbrot-fractal, mandelbrot-set, opengl
- Language: C
- Homepage:
- Size: 22.5 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# shader-fractals
Playing around with OpenGL, GLSL, GLFW, GLEW by making Interactive Fractal Visualizations for Mandelbrot, Julia and more.
## Dependencies
This program requires the following dependencies to compile and run:
- GLEW: The OpenGL Extension Wrangler Library, for managing OpenGL extensions.
- GLFW: A library for creating windows, contexts, and handling inputs for OpenGL.
- OpenGL: For rendering graphics.
- Standard build tools: gcc, make.## Building
To build the program, run the following command:
```bash
./compile.sh
```This will create two executable named `mandelbrot` and `julia` in the current directory.
## Running
To run the program, execute the following command:
```bash
./mandelbrot# or
./julia
```## Keybindings
Both programs have the following keybindings:
- `c`: Change the color mode.
- `i`: Invert the color mode gradient.
- `q`: Quit the program.
- `>`: Increase MaxIterations by 100.
- `<`: Decrease MaxIterations by 100.Julia specific keybindings:
- `r`: Increase Real part of the julia constant complex number.
- `f`: Decrease Real part of the julia constant complex number.
- `t`: Increase Imaginary part of the julia constant complex number.
- `g`: Decrease Imaginary part of the julia constant complex number.## Cool stuff
Mandelbrot Set Visuals:



Julia Set Visuals:


## Contributing
I'm actively supporting FOSS collaboration, so, if you feel like you can help in any way, file an issue in the *Issues* tab or submit a Pull Request and I will go through it.
## License
Copyright (C) xAlpharax
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.