A shader is a program that is designed to run in the GPU, and alters the way that objects appear on the screen. Shaders are used extensively in both 2D and 3D development to create a variety of visual effects. They are called shaders because they were originally used for shading and lighting effects, but today they are used for any number of visual effects. Because they run in the GPU in parallel, they are very fast, but also come with some restrictions.
This section is a very brief introduction to the concept of shaders. For a more in-depth understanding, see https://thebookofshaders.com/ and Godot's shader documentation at http://docs.godotengine.org/en/latest/tutorials/shading/shading_language.html.
In Godot 3.0, shaders are written in a language very similar to GLSL ES 3.0. If you are familiar with C, you will find the syntax very similar. If you are not, it may...