Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pencilcaseman/surge

A lightweight, cross-platform C++ creative-coding framework
https://github.com/pencilcaseman/surge

cpp creative-coding cross-platform glfw graphics graphics-programming gui imgui librapid lightweight raylib raylib-cpp ui

Last synced: about 2 months ago
JSON representation

A lightweight, cross-platform C++ creative-coding framework

Awesome Lists containing this project

README

        

# Surge

Surge is a powerful graphics engine for creative coding, focusing on simplicity and ease of use for C++ developers. With
simple OpenGL drawing, ImGui integration for interfaces and LibRapid for mathematics and calculations, Surge is a
powerful, simple and effective tool for all.

![Minimal Demo Program](https://raw.githubusercontent.com/Pencilcaseman/Surge/develop/images/minimalDemoProgram.png)
![Minimal Demo Program](https://raw.githubusercontent.com/Pencilcaseman/Surge/develop/images/minimalDemoProgramOutput.png)

#### When to use Surge

- You need a drop-in graphics engine for your C++ project
- You need a simple, cross-platform way to draw graphics
- You want to create visualisations for your programs, rather than just using the terminal
- You want a simple way to draw graphics while using ImGui for your interface
- You need to plot real-time graphs and charts with minimal effort
- You want to use OpenGL, but don't want to deal with the boilerplate code
- Other frameworks, such as Cinder or OpenFrameworks are too large and complex for your needs

#### When not to use Surge

- You need a full game engine
- You want to use a well-known framework with every feature you could imagine
- You need uncommon features which are not present in Surge
- You need a professional-looking UI for your application

## Examples

There are a range of example programs available in
the [examples](https://github.com/Pencilcaseman/surge/tree/master/examples) directory. These show off some of the basic
features of the library and are designed to give you an idea of how to use Surge in your own projects.

![Four Demo Programs](https://raw.githubusercontent.com/Pencilcaseman/Surge/develop/images/fourDemosImage.png)

---

## To Do:

- [ ] [RayLib](https://www.raylib.com/cheatsheet/cheatsheet.html)
- [ ] [RayMath](https://www.raylib.com/cheatsheet/raymath_cheatsheet.html)
- [ ] [RayGUI](https://github.com/raysan5/raygui)