# ParadiSO - a minimal 2D graphics engine

**ParadiSO** was conceived as a heavily stripped down 2D version of my `pixwerx` engine. *ParadiSO* mimics a minimalistic approach to 2D graphics for educational purposes. It uses modern C++ and a data-driven design, but no ECS. 

## Educational

Some arguments for its educational side:

* mix and match of various concepts and paradigms to write expressive but concise code 
* heavily inspired by Rust code
* math code is eager evaluation but `constexpr` to compensate overheads
* hides old-style `C` APIs behind a renovated facade
* it leans heavily on the STL and its algorithms 

## Minimal

Because this engine should show some patterns and design concepts it tries to avoid adding unnecessary bloat. 

## Dependencies

ParadiSO comes with batteries included. However, it should be mentioned here:

- [GLFW 3.3.8](https://github.com/glfw/glfw)
- [GLAD](https://github.com/Dav1dde/glad)
- [STB image](https://github.com/nothings/stb)

## Toolchains

ParadiSO is being developed to work on all major desktop systems.

- Windows (Visual Studio Build Tools 2022)
- MacOS (clang 14 or later)
- Linux (clang 14 or later, gcc 13.2.1)

Other combinations might work but are untested.


## Contributors

* [Tim Götzelmann](https://code.technotecture.net/Timeplex) Windows Build
* [Robin Rottstädt](https://code.technotecture.net/robin_rottstaedt) Flappy Bird Clone, Bitmap Loader