API应用程序接口|OpenGL与DirectX

OpenGL和DirectX都是图像应用编程接口,这些接口用于渲染二维或三维图形。可以说,这些接口架起了上层应用程序与底层GPU的沟通桥梁。     一个应用程序向这些接口发送渲染命令,而这些接口会依次向显卡驱动(Graphics Driver)发送渲染命令,这些显卡驱动是真正知道如何和GPU通信的角色,正是它们把OpenGL或者DirectX的函数调用翻译成了GPU能够听懂的语言,同时他们也负责把纹理等数据转换成GPU所支持的格式。     概括来说,我们的应用程序运行于CPU上。应用程序可以通过调用OpenGL或DirectX的图形接口将渲染所需要的数据,如顶点数据、纹理数据、材质参数等数据存储在显卡中的特定区域。随后,开发者可以通过图像编程接口发出渲染命令,这些渲染命令也被称为DrawCall,它们将会被显卡驱动翻译成GPU能够理解的代码,进行真正的绘制。
  • OpenGL
  1. OpenGL:Open Graphics Library,开放的图形程序接口。
  2. 具有很好的移植性。OpenGL是个与硬件无关的软件接口,可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植。
  3. 由于 OpenGL是3D图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS等 3D图形设计软件制作的DFX和3DS模型文件转换成OpenGL的顶点数组。
  • DirectX
 
  1. DirectX是一种应用程序接口(API);
  2. 可以让以windows为平台的游戏或多媒体程序获得更高的执行效率;
  3. 加强3d图形和声音效果;
  4. 提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序;
  5. 降低用户安装及设置硬件的复杂度。
  6. DirectX是由很多API组成的,按照性质分类,可以分为四大部分:显示部分、声音部分、输入部分和网络部分。
  7. 显示部分:担任图形处理的关键,分为DirectDraw(DDraw)和Direct3D(D3D),前者主要负责2D图像加速,它包括很多方面:我们播放mpg、DVD电影、看图、玩小游戏等等都是用的DDraw;后者则主要负责3D效果的显示,比如 CS中的场景和人物、FIFA中的人物等等,都是使用了DirectX的Direct3D。
  8. 声音部分:最主要的API是DirectSound,除了播放声音和处理混音之外,还加强了3d音效,并提供了录音功能。
  9. 输入部分:DirectInput可以支持很多的游戏输入设备,它能够让这些设备充分发挥最佳状态和全部功能。除了键盘和鼠标之外还可以连接手柄、摇杆、模拟器等。
  10. 网络部分:DirectPlay主要就是为了具有网络功能游戏而开发的,提供了多种连接方式,TPC/IP,IPX,Modem,串口等等,让玩家可以用各种连网方式来进行对战,此外也提供网络对话功能及保密措施。
  • Direct3D
    Direct3D(简称:D3D)是微软公司在Microsoft Windows操作系统上所开发的一套3D绘图编程接口,是DirectX的一部分,自1996年发布以来,Direct3D以其良好的硬件兼容性和友好的编程方式很快得到了广泛的认可,现在几乎所有的具有3D图形加速的主流显示卡都对Direct3D提供良好的支持。与OpenGL同为电脑绘图软体和电脑游戏最常使用的两套绘图编程接口。
上一篇:OPENGL学习项目--立体正方形的实时三维模型


下一篇:WebGL 与 WebGPU 比对[1] 前奏