Welcome to the course

VFX Secrets banner image

Thank you for getting Shader Secrets.

This course is dedicated to shaders, little programs that allow you to manipulate 3D meshes and pixels, but not only. Nowadays, you can also use them to make calculations using the power of your graphics processing units. This type of program, called compute shader, should become available in Godot 4.

In Godot 3, you can create vertex, fragment, and light shaders. They respectively allow you to manipulate a mesh’s vertices, the pixels drawn on the screen, and how each light interacts with your object. They all work both in 2D and 3D. Even in the 2D engine, all pixels of first drawn on geometric shapes that face the camera.

Robi in flames using the dissolve shader

Shaders can seem like an obscure art at first. In part, it is true as there is a lot of experimentation involved if you want to get specific visual results. But code-wise, they can be short and have little complexity, as you will see.

Shaders are mainly low-level programs. In Godot, the language you use to write them has a syntax similar to C. There are few keywords at your disposal and a limited number of built-in functions. So the language itself doesn’t take long to learn.

The most challenging aspect of shaded has to do with how your graphics card works. It takes entire batches of pixels or vertices at once and runs them through your code in parallel. Your shaders describe a transformation applied to one vertex or pixel at a time. And you need to find ways to create consistent results that span over the screen.

It takes some mental shift and practice to wrap your head around how that works. This is why we created this course. We are going to give you the tools and techniques to flesh out your shader programming tool belt.

While some of the techniques you will learn here are specific to Godot, most of the shader of programming knowledge you will get in this course apply to any game engine and even outside the world of games.

Free and open source

The code from this project is available under the MIT license. The art assets, including pictures and textures, are under the Creative Commons Attribution International license. You can reuse the code provided here, even in commercial projects. We also have a public repository on GitHub, Godot Shaders, that you directly support by getting this course. Thanks for that!

Your feedback is welcome

As always, we welcome your feedback. Shaders can be hard to teach, and while we are doing our best to share our knowledge in the most transparent way possible, if there is any way you feel we can improve, please tell us.

Under every lesson, you will find a form to ask your questions. You can also use that to report any issue or bug you might encounter or to make suggestions.

With that, we will let you get started with a course. We hope that you will enjoy it!

Community Discussion
  • 1