Я понимаю, как писать программы OpenGL/DirectX, и я знаю математику и концептуальные материалы позади нее, но мне любопытно, как взаимодействие графического процессора с процессором работает на низком уровне.
Скажем, у меня есть программа OpenGL, написанная на C, которая отображает треугольник и поворачивает камеру на 45 градусов. Когда я скомпилирую эту программу, она будет превращена в серию ioctl-вызовов, а драйвер gpu затем отправит соответствующие команды в gpu, где вся логика вращения треугольника и установки соответствующих пикселей в соответствующем цвете подключена в? Или программа будет скомпилирована в "программу gpu", которая загружается на gpu и вычисляет вращение и т.д.? Или что-то совсем другое?
Edit: Несколько дней спустя я нашел эту серию статей, которая в основном отвечает на вопрос: http://fgiesen.wordpress.com/2011/07/01/a-trip-through-the-graphics-pipeline-2011-part-1/