Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/pencilcaseman/surge
- Owner: Pencilcaseman
- License: mit
- Created: 2023-04-21T20:35:28.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-11-13T21:28:09.000Z (about 1 year ago)
- Last Synced: 2024-10-13T16:27:40.957Z (3 months ago)
- Topics: cpp, creative-coding, cross-platform, glfw, graphics, graphics-programming, gui, imgui, librapid, lightweight, raylib, raylib-cpp, ui
- Language: C++
- Homepage: https://tobydavis.dev
- Size: 284 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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)