Shader programming is probably one of the most difficult and low-level development tasks you can do as a graphics programmer. It requires an excellent knowledge of 3D math and the graphics rendering process. Also, writing good shaders is a skill that can take years to master. So why are we covering this in a book that covers fundamentals? Simply put, coding a good shader may be difficult, but it is also extremely rewarding, and it's a skillset that is essential to any serious 3D programmer.
Note
We will be using shaders throughout the rest of this book for many things. If, at this point, you are starting to feel overwhelmed, then take a break and study some 3D math or jump ahead a chapter. Sometimes, you just need time for things to sink in before you get that eureka moment.
A shader program runs directly on the graphic processing unit (GPU) of the device or computer. If the device doesn't have a GPU, then the program is executed on the CPU, which is a much slower process...