我知道如何编写 OpenGL/DirectX 程序,也知道其背后的数学和概念,但我很好奇 GPU-CPU 通信在低层次上是如何工作的。
假设我有一个用 C 编写的 OpenGL 程序,它显示一个三角形,并将摄像机旋转45度。当我编译这个程序的时候,它是否会变成一系列 ioctl 调用,然后 gpu 驱动程序会向 gpu 发送适当的命令,所有旋转三角形和设置适当颜色的像素的逻辑都被连接到 gpu 中?或者这个程序会被编译成一个“ gpu 程序”加载到 gpu 上并计算旋转等等?还是完全不同的东西?
编辑 : 几天后,我找到了这个系列文章,它基本上回答了这个问题: Http://fgiesen.wordpress.com/2011/07/01/a-trip-through-the-graphics-pipeline-2011-part-1/