The CG Workbench is a small GLSL coding environment which allows to rapidly prototype some shaders or shader pipelines.
Live Shading Demo: Youtube
Input | Action |
---|---|
Ctrl+Space, Rightclick on Background | Open New Node window |
Right-Click on a node | Open node editor (save to template, rename node) |
Ctrl + Left Mouse + Drag | Drag viewport window |
Ctrl + R | Recompile current window |
Ctrl + S | Save |
Ctrl + Shift + S | Save As |
Ctrl + N | New document |
Ctrl + O | Open File |
Alt + F4 | Exit |
CG Workbench uses Zig as a build system. Just call zig build
to build your project, zig-cache/bin
will contain the executable.
Install the following libraries / packages:
sdl2
gtk-3.0
Should work out of the box
This project would be much harder without those great libraries:
- SDL2
- GLM
- github.com/nlohmann/json
- github.com/skaslev/gl3w
- github.com/ocornut/imgui
- github.com/mlabbe/nativefiledialog
- github.com/nothings/stb
- github.com/syoyo/tinyobjloader
- github.com/cxong/tinydir
- github.com/severin-lemaignan/webcam-v4l2
- Save query when creating new node with existing content
- Shader Common Node
- Provide "includes" for all shaders
- Graphic Nodes
- Geometry Node
- Primitives
- Sphere
- Cube
- Primitives
- Geometry Node
- Player-Modus (lädt jgraph-File und hat ein Haupt-Renderer)
- Event-Delay Visualisierung
- Buffer -> Texture
- 1D Input/Over → 1D Texture with n width
- 2 * 1D Input/Over → 2D Texture with n * m width
- Input Node
- Keyboard
- Mouse
- Joystick
- Lua Node
- SetUp
- Update
- Shutdown
- Sound Node
- Seek (?)
- Timeline Node
- Attach values to a timeline
- Time as input
- Synth-Kram mit T$
- LUT-Node
- Maps input→output by indexing a table
- Audio Nodes
- Signal Mixer Node
- Envelope Generator Node