{"id":13441120,"url":"https://github.com/dfranx/SHADERed","last_synced_at":"2025-03-20T11:35:25.162Z","repository":{"id":37736229,"uuid":"149930721","full_name":"dfranx/SHADERed","owner":"dfranx","description":"Lightweight, cross-platform \u0026 full-featured shader IDE","archived":false,"fork":false,"pushed_at":"2023-09-22T16:07:30.000Z","size":253892,"stargazers_count":4350,"open_issues_count":104,"forks_count":274,"subscribers_count":91,"default_branch":"master","last_synced_at":"2024-10-16T20:50:25.014Z","etag":null,"topics":["debugger","game-development","glsl","glsl-editors","glsl-sandbox","gpgpu","graphics-programming","hlsl","hlsl-shader","opengl","shader-editor","shaders"],"latest_commit_sha":null,"homepage":"https://shadered.org/","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/dfranx.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.txt","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"patreon":"dfranx","custom":"https://paypal.me/dfranx"}},"created_at":"2018-09-22T23:34:47.000Z","updated_at":"2024-10-16T19:23:22.000Z","dependencies_parsed_at":"2024-01-03T04:07:19.926Z","dependency_job_id":"0f4d1e7a-5d1b-4087-810b-6cf6b78c7a97","html_url":"https://github.com/dfranx/SHADERed","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfranx%2FSHADERed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfranx%2FSHADERed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfranx%2FSHADERed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfranx%2FSHADERed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfranx","download_url":"https://codeload.github.com/dfranx/SHADERed/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221752298,"owners_count":16874953,"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":["debugger","game-development","glsl","glsl-editors","glsl-sandbox","gpgpu","graphics-programming","hlsl","hlsl-shader","opengl","shader-editor","shaders"],"created_at":"2024-07-31T03:01:30.154Z","updated_at":"2025-03-20T11:35:25.114Z","avatar_url":"https://github.com/dfranx.png","language":"C++","readme":"# SHADERed\n\nSHADERed is a lightweight tool for writing and debugging shaders. It is easy to use,\nopen source, cross-platform (runs on Windows, Linux \u0026 [Web](https://shadered.org/template)).\n\n\u003cimg src=\"https://shadered.org/assets/img/header.png\"/\u003e\n\n#### Table of Contents\n* [Features](#features)\n* [Sponsors](#sponsors)\n* [Supporters](#supporters)\n* [Binaries](#binaries)\n* [Building](#building)\n* [Tutorials](#tutorials)\n* [Screenshots](#screenshots)\n* [Dependencies](#dependencies)\n* [License](#license)\n\n## Features\n\n### Shader debugger\nShader debugger lets you easily find bugs in your shader code. It is simple to use - you just need to pause\nthe preview and select the pixel that you want to debug. After starting the debugger,\nyou will be able to:\n* step through your shader code line by line\n* run immediate expressions\n* add watches\n* place (conditional) breakpoints\n* see list of all variables and their values\n* hover over expressions and see their value\n\n![Debugging a shader](./Misc/Screenshots/debugger.gif)\n\nWith SHADERed, you can debug vertex, geometry, tessellation control, pixel and compute shaders.\n\nThanks to SHADERed, you can now also debug shaders in Visual Studio Code with an extension. Read more about this in the blog post: [https://shadered.org/blog?id=9](https://shadered.org/blog?id=9).\n\n### Frame analyzer\nBesides debugging your shader line-by-line, SHADERed also lets you find bugs and errors visually.\nAfter you run the frame analyzer, you will be able to:\n* detect undefined behavior\n* see variable's value throughout the whole frame\n* global breakpoints (color a pixel that meets a certain condition)\n* SPIR-V instruction heatmap\n\n![Analyzing a frame](./Misc/Screenshots/UndefinedBehavior.png)\n\n### Compute \u0026 geometry shaders\nYou are not limited to vertex and pixel shaders. SHADERed also supports compute \u0026 geometry\nshaders. You can create advanced animations and effects with these two shader stages:\n\n![Compute shaders and buffers](./Misc/Screenshots/computesh.gif)\n\n\n### Plugin API\nYou can develop custom SHADERed plugins and upload them to [SHADERed store](https://shadered.org/addons) so that they can be installed through SHADERed.\n\nTo see the plugin API's potential, check out these plugins:\n* [GodotShaders](https://shadered.org/plugin?id=godotshaders) - adds support for Godot's canvas shaders\n* [ShadertoyImporter](https://shadered.org/plugin?id=shadertoyimport) - import ShaderToy projects\n* [GIFCapture](https://shadered.org/plugin?id=gifcapture) - adds the ability to capture GIFs\n* [Slang](https://shadered.org/plugin?id=slang) - adds support for Slang shader language\n* [Rust](https://shadered.org/plugin?id=Rust) - adds the ability to write shaders in Rust\n* [C++](https://shadered.org/plugin?id=CPP) - adds the ability to write shaders in C++\n* [Terminal](https://shadered.org/plugin?id=Terminal) - open terminal windows in SHADERed\n\n### See changes instantly\nSHADERed can compile your shaders while you write the code.\nThis way you can see your changes instantly.\nSHADERed also works nicely with external text editors (such as VS Code) - it will recompile the shaders that were modified by some external program.\n\n![Instant preview as you write your shader](./Misc/Screenshots/instantresult.gif)\n\n### Other features\nSHADERed has lots of features that let you achieve effects like in no other shader editor. Features are also being added rapidly. Here are some of the feature:\n* render states (blending, stencil test, depth test, etc...)\n* import 3D models\n* built-in 3D geometry objects\n* import 2D texture, 3D textures, cubemaps\n* import audio files (build awesome music visualizers)\n* render textures (easily build G-Buffer)\n* buffers\n* instancing\n* profiling\n* multi-camera system\n* audio shaders (generate music on GPU)\n* custom variables \u0026 powerful variable system\n* zooming in on the preview window\n* exporting image sequence\n* code autocompletion designed for shader code\n* ... and so much more!\n\n## Sponsors\n[\u003cimg height=\"90\" src=\"bin/data/sponsors/Embark-black.png\"\u003e](https://embark-studios.com/)\n\n[\u003cimg width=\"150\" src=\"https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/PNG/DO_Logo_Vertical_Blue.png\"\u003e](https://www.digitalocean.com/?utm_medium=opensource\u0026utm_source=SHADERed)\n\n## Supporters\n**Supporter(s):**\n  * [Hugo Locurcio](https://hugo.pro)\n  * [Vladimir Alyamkin](https://alyamkin.com/)\n  * [Wogos Media](http://theWogos.com/)\n  * [Snow Developments](https://snow.llc)\n  * [Adad Morales](https://www.moralesfx.com/)\n  * [Liam Don](https://twitter.com/liamdon)\n  * [Chris Sprance](https://csprance.com)\n  * Andrew Kerr\n\nIf you like SHADERed and would like to support the development, check out Patreon: [\u003cimg width=\"120\" src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\"\u003e](https://www.patreon.com/dfranx)\n\nMy e-mail address for businesses (or if you just want to contact me):\n**contact at shadered dot org**\n\n## Binaries\nYou can download precompiled binaries through the [Releases](https://github.com/dfranx/SHADERed/releases) page or via [SHADERed's website](https://shadered.org/).\n\n### Install using Scoop (Windows)\n\nOn Windows, you can use [Scoop](https://scoop.sh) to install SHADERed:\n\n```text\nscoop bucket add extras\nscoop install shadered\n```\n\n### Install using Flatpak (Linux)\n\nSHADERed is available on\n[Flathub](https://flathub.org/apps/details/org.shadered.SHADERed). After setting\nup Flatpak, you can install it by entering the following commands in a terminal:\n\n```text\nflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo\nflatpak install --user flathub org.shadered.SHADERed -y\n```\n\nNote that the Flatpak version runs in a sandbox and some features may not work\ncorrectly yet. Please report Flatpak-specific issues\n[here](https://github.com/flathub/org.shadered.SHADERed/issues).\n\n## Building\nFirst clone the project \u0026 submodules:\n```\ngit clone https://github.com/dfranx/SHADERed.git\ncd SHADERed\ngit submodule update --init\n```\n\n### Linux\nInstall all the libraries that are needed:\n```\n# Ubuntu\nsudo apt install libsdl2-dev libglew-dev libglm-dev libgtk-3-dev\n# Fedora\nsudo dnf install glm-devel glew-devel SDL2-devel gtk3-devel\n```\n\nBuild:\n```\ncmake .\nmake\n```\n\nIf you would like to perform an out-of-source build, do the following:\n```\nmkdir build\ncd build\ncmake ..\nmake\n```\n\nRun:\n```\n./bin/SHADERed\n```\n\n### macOS\n**NOTE: macOS is not officially supported by me + some features are not implemented for macOS**\n\nInstall all the libraries that are needed:\n\n```sh\nbrew install sdl2 glew glm\n```\n\nBuild:\n\n```sh\nmkdir build\ncd build\ncmake ../\nmake -j8\n```\n\n\u003e **Note:** If you're building on a macOS version prior to 10.15 (Catalina) you may need to update Xcode and create a symlink for the SDK:\n\u003e \n\u003e ```\n\u003e ln -s \"$(xcrun --sdk macosx --show-sdk-path)\" \"$(xcrun --sdk macosx --show-sdk-platform-path)/Developer/SDKs/MacOSX10.15.sdk\"\n\u003e ```\n\nRun:\n```\n./bin/SHADERed\n```\n\n### Windows\n1. Install SDL2, GLEW \u0026 GLM through your favourite package manager (I recommend vcpkg)\n2. Run cmake-gui and set CMAKE_TOOLCHAIN_FILE variable\n3. Press Configure and then Generate if no errors occured\n4. Open the .sln and build the project!\n\n## Tutorials\nDon't know how or where to start? The debugger is confusing? Want to create your own\nshader or custom SHADERed theme? Visit [the official documentation](https://shadered.org/docs/index.html)\nto see detailed steps on how to do these things.\nOr you can watch the video tutorials on [YouTube](https://www.youtube.com/watch?v=vuJLpnL73As\u0026list=PLK0EO-cKorzRAEfwHoJFiIldiyiyDR3-2).\n\n## Screenshots\n![](./Misc/Screenshots/screen1.jpg)\n    \u003cem\u003eShader made by \u003ca href=\"https://www.youtube.com/channel/UCcAlTqd9zID6aNX3TzwxJXg\"\u003eThe Art Of Code\u003c/a\u003e\u003c/em\u003e\n\n![](https://user-images.githubusercontent.com/3957610/64245795-e54b0680-cf0b-11e9-8799-ea7ace785190.png)\n\nSend your own screenshots [here](https://github.com/dfranx/SHADERed/issues/8)!\n\n## Dependencies\nThis project uses:\n - [assimp/assimp](https://github.com/assimp/assimp)\n - [KhronosGroup/glslang](https://github.com/KhronosGroup/glslang)\n - [ocornut/imgui](https://github.com/ocornut/imgui/tree/docking) (docking + tables branch)\n - [juliettef/imgui_markdown](https://github.com/juliettef/imgui_markdown)\n - [BalazsJako/ImGuiColorTextEdit](https://github.com/BalazsJako/ImGuiColorTextEdit)\n - [benhoyt/inih](https://github.com/benhoyt/inih)\n - [zeux/pugixml](https://github.com/zeux/pugixml)\n - [dfranx/ShaderExpressionParser](https://github.com/dfranx/ShaderExpressionParser)\n - [KhronosGroup/SPIRV-Cross](https://github.com/KhronosGroup/SPIRV-Cross)\n - [dfranx/SPIRV-VM](https://github.com/dfranx/SPIRV-VM)\n - [rAzoR8/SpvGenTwo](https://github.com/rAzoR8/SpvGenTwo)\n - [nothings/stb](https://github.com/nothings/stb)\n - [dfranx/ImFileDialog](https://github.com/dfranx/ImFileDialog)\n - [dfranx/dds](https://github.com/dfranx/dds)\n\n## LICENSE\nSHADERed is licensed under MIT license. See [LICENSE](./LICENSE) for more details.\n","funding_links":["https://patreon.com/dfranx","https://paypal.me/dfranx","https://www.patreon.com/dfranx"],"categories":["C++","Game/App Engines","Graphics","📥Standalone [^](#table)","Specialty Topics"],"sub_categories":["Various Tools [^](#table)","Shaders"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfranx%2FSHADERed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfranx%2FSHADERed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfranx%2FSHADERed/lists"}