OpenGL与DirectX是指图像应用编程的接口,这些接口用于渲染二维或者三维图形。如果我们开发者要直接访问GPU是一件非常困难的事情,我们可能需要和各种寄存器、显存打交道,图像编程接口帮助我们在这些硬件基础上实现了一层抽象。一个应用程序向这些接口发送渲染命令时,这些接口会依次向显卡驱动发送渲染命令,正是显卡驱动把OpenGL或者DirectX的函数调用翻译成了GPU所能读懂的语言,同时他们也负责把纹理等数据翻译成GPU所能支持的格式,显卡驱动即为显卡的操作系统。
我们的应用程序运行在CPU上,应用程序可以通过调用OpenGL或者DirectX的图形接口将所需渲染的的数据(顶点、纹理、材质)存储在显存中。随后,开发者通过Draw Call来让显卡驱动翻译成GPU能够理解的代码,进行绘制。
参考书籍《Unity Shader入门精要》