Shader Development

Even thought shader developers are in high demand, online learning-resources are surprisingly limited. While developing games I always come across some “eye-candy” ideas which do require shaders. However, since shader programming was one of the parts I successfully dodged till today, it is indispensable for a modern look and feel game experience and sooner or later I have to face the fact, that I do have to accustom myself and get into shader development.

And here we are; welcome to my self learning blog diary. Warning: Due to literally zero shader development experience, this “tutorial” series starts from scratch and has the aim to document my learning process/curve over time. In other words: I have no clue what I am doing and I am just writing down what I find online in a compact, readable way, trying to explain all the shader logic to myself.

For a more “immerse” tutorial experience, you can browse through the complete tutorial collection.


The shaders are either written by the GoDot Shader language (similar to GLSL ES 3.0) or visually composed; all targeting the official stable GoDot version 3.2.3.

2D Shaders

XNA + MonoGame

The shaders are compiled with the MonoGame.Content.Pipeline ( and do compile against DirectX9. I try to use syntax which is compatible with GLSL, but don’t expect all of them to work out of the box while targeting OpenGL. (E.g.: Building for Linux and/or Mac)

2D Shaders