Kolori is a desktop application that lets you create beautiful pieces of art from mathematical expressions.
#
Kolori features a custom hand-written recursive descent parser to parse mathematical expressions--which it then uses to transpile your input down to low-level shader instructions to render images to the screen on the GPU.
#
Kolori also supports rendering not only images, but animations using the "**t**" variable in the input expression, which grows linearly with **time** elapsed--the speed at which is adjustable.
#
Kolori offers four coloring modes that can generate different images based on your input:
* **HSL**: Uses the HSL color space to generate pixel colors
* **HSLuv**: Uses the HSLuv color space, a perceptually uniform alternative to HSL, to generate pixel colors
* **Custom Palette Generation**: Input 4 colors of your choosing so Kolori can generate a custom color palette based on them, to determine pixel colors
* **Use an Image**: Select an image using your file manager, or just drag and drop one onto the window for Kolori to sample pixel colors from the input image to determine pixel colors.
---
Making this project was a bit of an adventure, as I had never worked with libraries such as ImGui, SDL, and OpenGL before. The biggest challenge when creating the program was managing memory correctly--which makes me appreciate languages like Nim even more--and code organization.
- 8 devlogs
- 99h