{"id":16608182,"url":"https://github.com/ikskuh/cg-workbench","last_synced_at":"2025-10-29T16:32:25.909Z","repository":{"id":68601140,"uuid":"115504818","full_name":"ikskuh/cg-workbench","owner":"ikskuh","description":"Live shader and graphics coding tool","archived":false,"fork":false,"pushed_at":"2020-12-02T11:04:47.000Z","size":18140,"stargazers_count":6,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-17T11:43:01.883Z","etag":null,"topics":["glsl","live-coding","live-shader-editor","qmake","shaders"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ikskuh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"MasterQ32"}},"created_at":"2017-12-27T09:28:31.000Z","updated_at":"2024-05-17T11:43:04.974Z","dependencies_parsed_at":null,"dependency_job_id":"5331af84-e417-4b91-a645-8d0f280076ad","html_url":"https://github.com/ikskuh/cg-workbench","commit_stats":null,"previous_names":["ikskuh/cg-workbench"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikskuh%2Fcg-workbench","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikskuh%2Fcg-workbench/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikskuh%2Fcg-workbench/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikskuh%2Fcg-workbench/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ikskuh","download_url":"https://codeload.github.com/ikskuh/cg-workbench/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219857432,"owners_count":16556062,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["glsl","live-coding","live-shader-editor","qmake","shaders"],"created_at":"2024-10-12T01:25:20.168Z","updated_at":"2025-10-29T16:32:18.065Z","avatar_url":"https://github.com/ikskuh.png","language":"C","funding_links":["https://github.com/sponsors/MasterQ32"],"categories":[],"sub_categories":[],"readme":"# CG Workbench\nThe CG Workbench is a small GLSL coding environment which allows to rapidly prototype some shaders or shader pipelines.\n\n![](https://mq32.de/public/2801bead79cd300b41f6e983d8e4a7fbd7b134dc.png)\n\nLive Shading Demo: [Youtube](https://www.youtube.com/watch?v=et6Kq0yJqxU)\n\n## Controls / Usage\n\n| Input | Action |\n|-|-|\n| Ctrl+Space, Rightclick on Background | Open *New Node* window |\n| Right-Click on a node | Open node editor (save to template, rename node) |\n| Ctrl + Left Mouse + Drag | Drag viewport window |\n| Ctrl + R | Recompile current window |\n| Ctrl + S | Save |\n| Ctrl + Shift + S | Save As |\n| Ctrl + N | New document |\n| Ctrl + O | Open File |\n| Alt + F4 | Exit |\n\n## Examples\n\n### Gems\n\n![](https://mq32.de/public/159cddca23a0d4e3055aa29b548bf243746661f6.png)\n\n![](https://mq32.de/public/26c330536a3d48368ed26dca8d1267cf5d3cecd8.png)\n\n## Build Instructions\n\nCG Workbench uses [Zig](https://ziglang.org/) as a build system. Just call `zig build` to build your project, `zig-cache/bin` will contain the executable.\n\n### Linux\nInstall the following libraries / packages:\n- `sdl2`\n- `gtk-3.0`\n\n### Windows\nShould work out of the box\n\n## External Libraries\nThis project would be much harder without those great libraries:\n- [SDL2](https://www.libsdl.org)\n- [GLM](https://glm.g-truc.net/0.9.8/index.html)\n- [github.com/nlohmann/json](https://github.com/nlohmann/json)\n- [github.com/skaslev/gl3w](https://github.com/skaslev/gl3w)\n- [github.com/ocornut/imgui](https://github.com/ocornut/imgui)\n- [github.com/mlabbe/nativefiledialog](https://github.com/mlabbe/nativefiledialog)\n- [github.com/nothings/stb](https://github.com/nothings/stb)\n- [github.com/syoyo/tinyobjloader](https://github.com/syoyo/tinyobjloader)\n- [github.com/cxong/tinydir](https://github.com/cxong/tinydir)\n- [github.com/severin-lemaignan/webcam-v4l2](https://github.com/severin-lemaignan/webcam-v4l2)\n\n## Ideas / Missing Nodes\n- Save query when creating new node with existing content\n- Shader Common Node\n  - Provide \"includes\" for all shaders\n- Graphic Nodes\n\t- Geometry Node\n\t\t- Primitives\n\t\t\t- Sphere\n\t\t\t- Cube\n- Player-Modus (lädt jgraph-File und hat ein Haupt-Renderer)\n- Event-Delay Visualisierung\n- Buffer -\u003e Texture\n\t- 1D Input/Over → 1D Texture with *n* width\n\t- 2 * 1D Input/Over → 2D Texture with *n* * *m* width\n- Input Node\n\t- Keyboard\n\t- Mouse\n\t- Joystick\n- Lua Node\n\t- SetUp\n\t- Update\n\t- Shutdown\n- Sound Node\n\t- Seek (?)\n- Timeline Node\n\t- Attach values to a timeline\n\t- Time as input\n- Synth-Kram mit T$\n- LUT-Node\n\t- Maps input→output by indexing a table\n- Audio Nodes\n\t- Signal Mixer Node\n\t- Envelope Generator Node","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikskuh%2Fcg-workbench","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fikskuh%2Fcg-workbench","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikskuh%2Fcg-workbench/lists"}