> For the complete documentation index, see [llms.txt](https://bryan-guner.gitbook.io/knowledge/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bryan-guner.gitbook.io/knowledge/14-pure-education/knowledge-master/computer-graphics/shaders.md).

# Shaders

## Links

* [Shader Toy](https://www.shadertoy.com/) - Build and Share your best shaders with the world and get inspired.
* [Euc](https://github.com/zesterer/euc) - Software rendering crate that lets you write shaders with Rust.
* [The Book of Shaders](https://thebookofshaders.com/) - Gentle step-by-step guide through the abstract and complex universe of Fragment Shaders. ([HN](https://news.ycombinator.com/item?id=23497924))
* [ShaderLand](http://shaderland.com/)
* [3D Game Shaders For Beginners](https://github.com/lettier/3d-game-shaders-for-beginners) - Step-by-step guide on how to implement SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
* [Playing around with shaders (2019)](https://bou.ke/blog/shaders/)
* [Open Shading Language](https://github.com/imageworks/OpenShadingLanguage) - Advanced shading language for production GI renderers.
* [SHADERed](https://github.com/dfranx/SHADERed) - Lightweight, cross-platform & full-featured desktop tool for creating and testing HLSL and GLSL shaders.
* [Getting started with shaders: signed distance functions (2020)](https://jvns.ca/blog/2020/03/15/writing-shaders-with-signed-distance-functions/)
* [Naga](https://github.com/gfx-rs/naga) - Experimental shader translation library for the needs of gfx-rs project and WebGPU.
* [Software Renderer](https://github.com/zauonlok/renderer) - Shader-based software renderer written from scratch in C89.
* [MatCaps](https://github.com/nidorx/matcaps) - Huge library of MatCap textures in PNG and ZMT.
* [Shader Doodle](https://github.com/halvves/shader-doodle) - Friendly web-component for writing and rendering shaders.
* [Collection of shaders to draw color maps](https://github.com/kbinani/colormap-shaders)
* [ShaderConductor](https://github.com/microsoft/ShaderConductor) - Tool designed for cross-compiling HLSL to other shading languages.
* [The RTX Shader Binding Table Three Ways (2019)](https://www.willusher.io/graphics/2019/11/20/the-sbt-three-ways)
* [ShaderTutorials](https://github.com/Xibanya/ShaderTutorials) - Shaders For People Who Don't Know How To Shader, a tutorial series for beginners.
* [The future of RLSL (2020)](https://maikklein.github.io/rlsl-update3/)
* [A Note on Branching Within a Shader (2020)](https://www.peterstefek.me/shader-branch.html)
* [Tiny Shading Language](https://github.com/JiayinCao/Tiny-Shading-Language)
* [Slang](https://github.com/shader-slang/slang) - Shading language that extends HLSL with new capabilities for building modular, extensible, and high-performance real-time shading systems.
* [Shadershop](https://github.com/cdglabs/Shadershop) - Interface for programming GPU shaders in the mode of a direct manipulation image editor like Photoshop.
* [Circle C++ shaders](https://github.com/seanbaxter/shaders)
* [Shading techniques and GLSL snippets](https://github.com/Rabbid76/graphics-snippets)
* [Rasen](https://github.com/leops/rasen) - Generate SPIR-V bytecode from an operation graph.
* [smol-compute](https://github.com/aras-p/smol-compute) - Tiny library for launching compute shaders on D3D11 and Metal.
* [Futureproof](https://github.com/mkeeter/futureproof) - Live editor for GPU shaders, built on Zig, Neovim, and WebGPU. ([Web](https://www.mattkeeter.com/projects/futureproof/))
* [CineShader](https://cineshader.com/) - Real-time 3D shader visualizer.
* [pmfx-shader](https://github.com/polymonster/pmfx-shader) - Cross platform shader system for HLSL, GLSL, Metal and SPIR-V.
* [GLSLX](https://github.com/evanw/glslx) - GLSL type checker, code formatter, and minifier for WebGL. ([Web](http://evanw.github.io/glslx/))
* [live-glsl](https://github.com/karimnaaji/live-glsl) - Lightweight GLSL live-coding tool for macOS. ([Web](http://karim.naaji.fr/projects/liveglsl))
