Это, вероятно, чрезвычайно упрощено. Я приветствую исправления и дополнительную информацию.
Современные графические процессоры поддерживают шейдеры. Шейдеры - это небольшие программы. Когда графический процессор заполняет полигон или другой примитив, вместо простого включения пикселя, он может запустить небольшую программу для этого пикселя. Программа может определять "оттенок" пикселя, или включать / выключать дополнительные пиксели, или другие вещи. Это позволяет широкий спектр эффектов.
Потоковый процессор - это объект, который запускает шейдерные программы. Потоковые процессоры не нужно использовать для "затенения" полигонов как таковых, это основа GPGPU/CUDA/ использование вашего GPU для чего-то другого, кроме графики.
Вам нужно, чтобы они работали одновременно, поскольку графический процессор пытается нарисовать кадр как можно быстрее. Чем больше и быстрее, тем лучше.