A Processing-style creative coding framework & IDE — written in C++ with OpenGL
ProcessingGL brings the simplicity of Processing to native C++.
Write setup() and draw() functions and get a real-time OpenGL window — no boilerplate, no engine overhead.
It ships with a built-in live-coding IDE so you can edit and run sketches without leaving the app.
Key features:
setup()/draw()loop just like Processing- Real-time OpenGL rendering via GLFW + GLEW
- Built-in IDE for live sketch editing
- Image loading (
stb_image) - TrueType font rendering (
stb_truetype) - Keyboard, mouse, and window event callbacks
- One-command install on Windows, macOS, and Linux
Requires MSYS2 — open the MSYS2 MinGW64 terminal, then:
bash setup.shOr double-click setup.bat for instructions.
Requires Homebrew — install it first if you don't have it.
bash setup.shbash setup.shSupports: Arch, Ubuntu/Debian, Fedora, openSUSE
| Platform | Build | Run |
|---|---|---|
| Windows | buildIDE.bat |
ide.exe |
| macOS / Linux | bash buildIDE.sh |
./ide |
Open the IDE, write your sketch, and hit run.
Edit src/MySketch_gen.cpp with your setup() and draw() code, then:
| Platform | Build | Run |
|---|---|---|
| Windows | build.bat |
SketchApp.exe |
| macOS / Linux | bash build.sh |
./SketchApp |
#include "Processing.h"
namespace Processing {
void setup() {
size(800, 600);
background(30);
}
void draw() {
fill(255, 100, 50);
ellipse(mouseX, mouseY, 40, 40);
}
} // namespace ProcessingProcessingGL/
├── src/
│ ├── Processing.h # API header — include this in your sketch
│ ├── Processing.cpp # Framework implementation
│ ├── IDE.cpp # Built-in live-coding IDE
│ ├── MySketch_gen.cpp # Your sketch goes here
│ ├── main.cpp # Entry point
│ ├── stb_image.h # Image loading (auto-downloaded by setup)
│ └── stb_truetype.h # Font rendering (auto-downloaded by setup)
├── default.ttf # Default font (auto-found/copied by setup)
├── config.json # Default window/fps config
├── setup.sh # macOS + Linux + Windows (MSYS2) installer
├── setup.bat # Windows installer helper
├── build.sh / build.bat # Build a sketch
├── buildIDE.sh / buildIDE.bat # Build the IDE
└── run.sh # Build + run a sketch (Linux/macOS)
GL/glew.h not found (macOS)
brew install glew glfwThen use bash buildIDE.sh — it handles the Homebrew paths automatically.
Linker errors: missing mouseMoved / mouseClicked / etc.
These stubs are already in src/IDE.cpp. If you see them on a fresh clone, make sure you pulled the latest version.
-lGL not found on macOS
macOS uses -framework OpenGL instead of -lGL. The build scripts handle this automatically.
Windows: g++ not found
Run setup.sh from the MSYS2 MinGW64 terminal, or run setup.bat for guidance.
- Original framework & IDE: PepC84
- Windows support, macOS porting & tooling improvements: ktorres0109
- Header libraries: nothings/stb
- Built with assistance from Claude AI (Anthropic)
MIT — free to use, modify, and distribute.