Это зависит от конфигурации системы, по крайней мере, процессор должен выдавать команды на графический процессор (отправлять списки вершин, загружать текстуры и т. Д.), А графический процессор обычно выполняет все геометрические преобразования, освещение и т. д.
Но во многих случаях часть работы, которую должен выполнять GPU, может выполняться CPU, если аппаратное обеспечение не поддерживает определенные функции.
Если вы используете 3D-движок, он может также сделать некоторые предварительные оптимизации на процессоре, чтобы уменьшить количество треугольников, которые должен обрабатывать GPU, например, отбрасывание заранее определенных частей геометрии, которые, как известно, скрыты (например, с использованием таких двигателей, как IdTech BSP или порталов, таких как Unreal Engine).
Такие вещи, как перемещение и поворот сетки моделей (например, ходячие анимации), обычно выполняются в CPU, но в настоящее время я думаю, что тенденция будет заключаться в HW, чтобы ускорить их.
Что касается ссылки на wikipedia, все этапы, упомянутые здесь, обычно выполняются на графическом процессоре, но это зависит от программного обеспечения, выполняющегося в CPU, чтобы решить, какие полигоны будут отправляться на обработку (даже если они будут отброшены GPU позже, потому что они скрыты или выходят из просмотра frustrum).
Возможный дубликат: http://stackoverflow.com/questions/2713417/which-opengl-functions-are-not-gpu-accelerated –
@xavier Спасибо! Это отличная тема. –