Real-Time Shader Programming by Ron Fosner