简述DirectX与OpenGL

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

我们的应用程序运行在CPU上,应用程序可以通过调用DirectX或OpenGL的图形接口将渲染所需的数据,如顶点数据,纹理数据,材质参数等数据存储在显存中的特定区域,随后,开发者可以通过图像编程接口发出渲染命令,这些渲染命令也被称为Draw Call,它们将会被显卡驱动翻译成GPU能够理解的代码,进行真正的绘制。

显卡除了有图像处理单元GPU外,还拥有自己的内存,这个内存通常被称为显存,GPU可以在显存中存储用于图像显示的屏幕缓冲,深度缓冲等。

因为显卡驱动的存在,几乎所有的GPU既可以和DirectX合作,也可以和OpenGL一起工作。从显卡的角度出发,实际上它只需要和显卡驱动打交道就可以了。因此,一个显卡制造商为了让他们的显卡可以同时和OpenGL,DirectX合作,就必须提供支持OpenGL和DirectX接口的显卡驱动。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容