Pixel Shaders - An Interactive Introduction to Graphics Programming
Modern computers come with two separate processors, two “brains”:
The traditional CPU, the Central Processing Unit
The newer GPU, the Graphics Processing Unit
Almost all books and courses about programming only teach you how to program the CPU.
GPU programming is esoteric. Learning resources are targeted at experienced programmers who need to use the GPU for applications like high-performance video games and scientific simulations.
Yet there is a unique joy to programming the graphics processor. It feels different than traditional programming. Traditional programs are usually quite long. The challenge is in understanding how the computer steps through the program. GPU programs are often fiendishly short. The challenge is in understanding how a simple program, when performed thousands of time in parallel, can produce a powerful effect.
This book is intended to bring the wonder and joy of graphics processor programming to a wider audience. It is targeted at artists who want to integrate powerful computer graphics into their work, and traditional programmers who want to try thinking about programming in a different way. It has no programming pre-requisites, and indeed encourages a fresh mindset—many traditional programming tactics will be ineffective.