Shaders
Jump to navigation
Jump to search
General
- https://en.wikipedia.org/wiki/Shading_language - a graphics programming language adapted to programming shader effects (characterizing surfaces, volumes, and objects). Such language forms usually consist of special data types, like "vector", "matrix", "color" and "normal". Due to the variety of target markets for 3D computer graphics, different shading languages have been developed.
- The Book of Shaders - by Patricio Gonzalez Vivo and Jen Lowe. This is a gentle step-by-step guide through the abstract and complex universe of Fragment Shaders.
- Inigo Quilez - fractals, computer graphics, mathematics, shaders, demoscene and more
- Interactive Shader Format - a file format used to describe GLSL shaders for use in interactive applications. It can be used to create image filters or generative video sources. Learn more about ISF, check out the spec or check out the examples below.
Shaders
- https://github.com/mckennapsean/wood-shader - based on the original paper (by Marschner et al.) which established a new sub-surface reflection component to the bidirectional reflectance distribution function (BRDF) that creates a sub-surface highlight distinct to the appearance of actual, finished wood. The key features of this process include identifying the direction/angle of the sub-surface wooden fibers, refracating and reflecting the incoming light ray along this angled wooden fiber, and producing a Gaussian-spread along a cone in the direction of this angled reflection ray. All of these features were coded and ported into GLSL. A sample, rendered image of tiger wood is presented below.
- https://github.com/kbinani/colormap-shaders - A collection of shaders to draw color maps.
- https://github.com/lettier/3d-game-shaders-for-beginners - video_game A step-by-step guide on how to implement SSAO, depth of field, lighting, normal mapping, and more for your 3D game. [1]
Tools
- https://github.com/Chabloom/ShaderTool - a source-level shader translation tool for translating between GLSL, HLSL and MSL (Metal Shading Language).
- https://github.com/mortennobel/sre_glsl_editor - allows you to play with shaders without having to set up everything in OpenGL. The editor is build using SimpleRenderEngine
- https://github.com/garettbass/gpuc - A header-only C-like shading language compiler that writes Metal, HLSL, GLSL
- Shdr - an online GLSL (ESSL) shader editor, viewer and validator written in CoffeeScript/WebGL that I decided to code while working on HexGL. Indeed, I've been looking for a tool to help me quickly iterate over shader development and didn't find any that would fit my needs.
- https://github.com/dancrn/shade - a quick-and-dirty glsl prototyping tool. it's like shader-toy, but with basically no features of shader-toy. but you can run it off-line, and not in a browser. it has only one dependency - SDL2. this is not intended to be a standalone tool per se, but rather just something that you can easily modify (and extend, if required) to prototype a shader. [5]
- GLSL Sandbox Gallery - Online live editor for fragment shaders.
- https://github.com/warrenm/Shadertweak - an iPad app that allows you to rapidly prototype fragment shaders in the Metal shading language.
- PixelSpirit - Each Pixel Spirit card presents a visual element together with the GLSL shader code that generates it. Ultimately, these elements can be reused and combined to compose an infinite visual language. This deck is a tool for learning, a library, and an oracle.The cards are ordered as an unfolding continuum that goes from simplicity to complexity, from darkness to light, so they can be learned and memorized easily. Through this progression, the cards present new functions, creating a library of functions that can be reused and combined like a portable book of spells. Within the 50 cards of this deck you will find the 22 major arcana, the ancestral archetypes of the traditional Tarot deck: the wisdom of these powerful cards will guide you.
- https://alain.xyz/libraries/crossshader - A tool for cross compiling shaders. Convert between GLSL, HLSL, Metal Shader Language, or older versions of GLSL.
- https://github.com/polymonster/pmfx-shader - Cross platform shader system targetting HLSL, GLSL, Metal and SPIR-V. Offline compilation, reflection, metadata +so much more.