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.

GoDot

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 (3.7.0.9) 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