{"id":17975873,"url":"https://github.com/aiekick/noodlesplate","last_synced_at":"2025-04-12T20:42:26.675Z","repository":{"id":43445106,"uuid":"157250366","full_name":"aiekick/NoodlesPlate","owner":"aiekick","description":"Offline Shader Editor with many cool features","archived":false,"fork":false,"pushed_at":"2025-02-27T18:45:41.000Z","size":95277,"stargazers_count":276,"open_issues_count":8,"forks_count":19,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-04T00:05:54.280Z","etag":null,"topics":["cross-platform","fragment-shader","free-software","geometry-shader","gizmo","glsl","import","inspection","linux","macos","picture","shaders","shadertoy","tesselation-shader","transform-feedback","uniforms","vertex-shader","vr","widgets","windows"],"latest_commit_sha":null,"homepage":"https://aiekick.github.io/NoodlesPlate/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aiekick.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}},"created_at":"2018-11-12T17:25:31.000Z","updated_at":"2025-03-16T06:13:17.000Z","dependencies_parsed_at":"2025-03-12T20:13:25.481Z","dependency_job_id":null,"html_url":"https://github.com/aiekick/NoodlesPlate","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aiekick%2FNoodlesPlate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aiekick%2FNoodlesPlate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aiekick%2FNoodlesPlate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aiekick%2FNoodlesPlate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aiekick","download_url":"https://codeload.github.com/aiekick/NoodlesPlate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631669,"owners_count":21136554,"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":["cross-platform","fragment-shader","free-software","geometry-shader","gizmo","glsl","import","inspection","linux","macos","picture","shaders","shadertoy","tesselation-shader","transform-feedback","uniforms","vertex-shader","vr","widgets","windows"],"created_at":"2024-10-29T17:21:23.267Z","updated_at":"2025-04-12T20:42:26.647Z","avatar_url":"https://github.com/aiekick.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Win](https://github.com/aiekick/NoodlesPlate/actions/workflows/Win.yml/badge.svg)](https://github.com/aiekick/NoodlesPlate/actions/workflows/Win.yml)\n[![Osx](https://github.com/aiekick/NoodlesPlate/actions/workflows/Osx.yml/badge.svg)](https://github.com/aiekick/NoodlesPlate/actions/workflows/Osx.yml)\n[![Linux](https://github.com/aiekick/NoodlesPlate/actions/workflows/Linux.yml/badge.svg)](https://github.com/aiekick/NoodlesPlate/actions/workflows/Linux.yml)\n[![GitHub Pages](https://github.com/aiekick/NoodlesPlate/actions/workflows/gh-pages.yml/badge.svg)](https://github.com/aiekick/NoodlesPlate/actions/workflows/gh-pages.yml)\n\n# NoodlesPlate\n\nNoodlesPlate is a offline Shader Editor. \n\nHis particularity is to offer to the user many type of widgets, let you easilty tune in real time your shader.\n\nall the system is designed for let the user choose his text editor. NoodlespLate update all ui after each code change (file save)\n\nyou can check the wiki if you want more infos\n\n\u003cins\u003eSome features availables :\u003c/ins\u003e\n* many uniforms widgets :\n  * sliders\n  * buttons\n  * checkbox\n  * combobox\n  * radio buttons\n  * time / date / deltatime\n  * frame\n  * gizmo (translate / rotate / scale) via [ImGuizmo](https://github.com/CedricGuillemet/ImGuizmo)\n  * gamepad (go in settings dialog for tune and affect your gamepad buttons / sticks)\n  * mouse\n  * color picker\n  * midi devices\n* Time Line for easy animation crration (based on the behavior of blender3D)\n  * export all frames in pictures\n* uniforms collapsable / expandable by section or hidden (defined in code)\n* Vertex / Fragment / Geometry / tesselation control / tesselation eval shaders =\u003e all in one file\n* primitive instancing\n* in code config (selectable in ui)\n* include files\n* multipass :\n  * in many files\n  * or in one file\n* compute shader =\u003e not finalized, support only 2d/3d texture. no mesh generation\n* import of ShaderToy / GlslSandbox / VertexShaderArt\n  * import fo shadertoy now possible in one file only\n* multi attachments buffers\n* uniforms config switcher =\u003e lets you save/load uniforms conf file\n* Primitve Culling System via Gizmo\n* sdf merge with mesh\n* wold camera (perspective / orthographic) in your shaders\n* fullscreen windowed or full\n* transparant window (controled with the alpha value of your shader)\n* save picture for each code modification (let you create video of your shader design)\n* pixel debugging, offer rgba value inspection (with mouse, under line on screen)\n* inspect gpu metrics (temperature / load / memory / etc.. only support nvidia for the moment)\n* gpu live profiler (flamegraph type)\n* support of transform feedback for extrac mesh from vertex/geometry/tesselation stage\n* Advanced UI system for extract panes to windows (thanks to Dear Imgui Docking/Viewport system)\n* Advanced theming system (thanks to Dear Imgui)\n* support of the VR (via OpenXR) :\n  * a button in the left toolbar is available for enable/disable the vr \n  * display the left eye on the screen\n  * support of controllers : \n    * Generic pads (tested =\u003e OK)\n    * Occulus touch (tested =\u003e OK)\n    * Valve index (not tested =\u003e but will work as expected i guess)\n  * camera can be controlled via VR controllers, if the camera vr control is checked and only when swizzle (side trigger) is pressed :\n    * left controller thumbstick x can be used for roll (axis z) the camera\n    * left controller trigger can be used for move the camera backward\n    * right controller trigger can be used for move the camera forward\n    * right controller thumbstick up/down can be used for pitch (axis x) the camera\n    * right controller thumbstick left/right can be used for yaw (axis y) the camera\n  * the triggers, thumbsticks, and swizzle are available as uniforms. \n    swizzle can be used if the camera vr control is unchecked\n    check the help avaialble in elft toolabr for have the unifomrs syntax\n    \n\u003cins\u003eFeatures planned :\u003c/ins\u003e\n* Node Graph (wip, not stable)\n* video / audio (playback / recording)\n* bvh player for uniforms\n\nBinaries =\u003e https://github.com/aiekick/NoodlesPlate/releases\n\nBuild tested and succeded on :\n* On Win 7 x64 (in version x32/x64)\n* On Win 10 x64 (in version x64)\n* On Linux Debian/Ubuntu (in version x32/x64)\n* On Linux Debian/RaspberryOs (in version x86/x64)\n* MacOs Mojave (in version x86)\n\n# requirements\n\n* Cmake\n* OpenSSH\n* C++17\n\n# how to build\n\n## first : clone the repo and initialize their submodules\n\n```cpp\ngit clone https://github.com/aiekick/NoodlesPlate.git\ncd NoodlesPlate\ngit submodule update --init --recursive\n```\n\n## second : build with cmake\n\nYou need to use cMake.\nFor the 3 Os (Win, Linux, MacOs), the cMake usage is exactly the same, \n\n1) Choose a build directory. (called here my_build_directory for instance) and\n2) Choose a Build Mode : \"Release\" / \"MinSizeRel\" / \"RelWithDebInfo\" / \"Debug\" (called here BuildMode for instance)\n3) Run cMake in console : (the first for generate cmake build files, the second for build the binary)\n```cpp\ncmake -B my_build_directory -DCMAKE_BUILD_TYPE=BuildMode\ncmake --build my_build_directory\n```\n\n## On Windows :\n\nYou need to have the opengl library installed\n\n## On Linux :\n\nYou need many lib : (X11, xrandr, xinerama, xcursor, mesa)\n\nIf you are on debian you can run :  \n\n```cpp\nsudo apt-get update \nsudo apt-get install libssl-dev libgl1-mesa-dev libx11-dev libxi-dev libxrandr-dev libxinerama-dev libxcursor-dev libasound2-dev\n```\n\n## On MacOs :\n\nyou need many lib : opengl, openssl and cocoa framework\n\n# License :\n\nNoodlesPlate is an open source software under [GPL-3.0](LICENSE)\n\n# Library used :\n\n* [Glfw - ZLIB](http://www.glfw.org/)\n* [Dear ImGui - Docking branch - MIT](https://github.com/ocornut/imgui)\n* [Glad - MIT](https://github.com/Dav1dde/glad)\n* [Stb - MIT](https://github.com/nothings/stb)\n* [tinyxml2 - ZLIB]( https://github.com/leethomason/tinyxml2)\n* [cTools - MIT](https://github.com/aiekick/cTools)\n* [ImGuiFileDialog - MIT](https://github.com/aiekick/ImGuiFileDialog)\n* [Curl - MIT](https://curl.haxx.se/\")\n* [ImGuizmo MIT](https://github.com/CedricGuillemet/ImGuizmo)\n* [imgui_markdown MIT](https://github.com/juliettef/imgui_markdown)\n* [AlphaNum MIT](http://www.davekoelle.com/alphanum.html)\n\t\t\t\n# Some screenshots :\n\nNoodlesPlate v0.6.660\n\nVR Mode (show left eye in screen) with the shader [Dual 3D Truchet Tiles](https://www.shadertoy.com/view/4l2cD3) of [Shane](https://www.shadertoy.com/user/Shane)\n![0.6.660.1](doc/images/vlc_SNqaS5IBxD.jpg)\n\nNoodlesPlate v0.5.897\n\n![0.5.897.1](doc/images/NoodlesPlate_Msvc_x64_N69aImL27C.png)\n![0.5.897.2](doc/images/NoodlesPlate_Msvc_x64_UXpK9TMq4S.png)\n![0.5.897.3](doc/images/NoodlesPlate_Msvc_x64_wPe36WwlZX.png)\n![0.5.897.4](doc/images/NoodlesPlate_Msvc_x64_ldzPsKLqlK.png)\n\nNoodlesPlate v0.1.3075\n\n![0.1.3075.1](doc/images/NoodlesPlate_MSVC_x64_Release_2019-07-14_05-54-36.png)\n![0.1.3075.2](doc/images/NoodlesPlate_MSVC_x64_Release_2019-07-14_05-55-13.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faiekick%2Fnoodlesplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faiekick%2Fnoodlesplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faiekick%2Fnoodlesplate/lists"}