Changing the appearance of objects with shaders
So far, the graphical work that we've done has all been to do with how the entire scene is rendered. The material so far in this chapter has been relatively code-free and has largely depended on scene configuration. In this section, we'll delve more deeply into the code-oriented side of graphics programming and write a shader, which is essentially a custom set of instructions about how the GPU should render an individual object.
Before we start writing code, it will help to gain a basic understanding of what happens in a shader's execution, so we'll briefly go over the two main processing steps of a shader written in ShaderLab, Unity's shader syntax.
A quick overview of ShaderLab shaders
All ShaderLab shaders go through two main phases: the vertex phase and the fragment phase. All code in the vertex phase is run once on every vertex on an object, and all code in the fragment phase is performed for every pixel of the object rendered to the screen...