Graphics - 图形接口

一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;

图形编程接口

开发者直接访问GPU是一件非常麻烦的事情,我们可能需要和各种寄存器、显存打交道;而图形编程接口在这些硬件的基础上实现了一层抽象;

OpenGL和DirectX就是这些图形应用编程接口,这些接口用于渲染二维或三维图形;这些接口架起了上层应用程序和底层GPU的沟通桥梁;一个应用程序向这些接口发送渲染命令,而这些接口会依次向显卡驱动(Graphics Driver)发送渲染命令,这些显卡驱动是真正知道如何和GPU通信的角色,正是它们把OpenGL或者DirectX的函数调用翻译成了GPU能够听懂的语言,同时它们也负责把纹理等数据转换成GPU所支持的格式,可以说显卡驱动就是显卡的操作系统:

图片源自《Unity Shader入门精要》

一般来说,应用程序运行在CPU上,应用程序可以通过调用OpenGL和DirectX的图形接口将渲染所需的数据,如顶点数据、纹理数据、材质参数等数据存储在显存中的特定区域;

随后,开发者可以通过图像编程接口发出渲染命令,这些渲染命令也被称为Draw Call,它们将会被显卡驱动翻译成GPU能够理解的代码,进行真正的绘制;

GPU可以在显存中存储任何数据,但对于渲染来说一些数据类型是必需的,例如用于屏幕显示的图像缓冲、深度缓冲等;

因为显卡驱动的存在,几乎所有的GPU都既可以和OpenGL合作,也可以和DirectX一起工作;从显卡的角度出发,实际上它只需要和显卡驱动打交道就可以了;


扫描二维码关注公众号,回复: 13103921 查看本文章

猜你喜欢

转载自blog.csdn.net/DoomGT/article/details/114631841
今日推荐