Shader|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组成的,按照性质分类,可以分为四大部分:显示部分、声音部分、输入部分和网络部分。
    1. 显示部分:担任图形处理的关键,分为DirectDraw(DDraw)和Direct3D(D3D),前者主要负责2D图像加速,它包括很多方面:我们播放mpg、DVD电影、看图、玩小游戏等等都是用的DDraw;后者则主要负责3D效果的显示,比如 CS中的场景和人物、FIFA中的人物等等,都是使用了DirectX的Direct3D。
    2. 声音部分:最主要的API是DirectSound,除了播放声音和处理混音之外,还加强了3d音效,并提供了录音功能。
    3. 输入部分:DirectInput可以支持很多的游戏输入设备,它能够让这些设备充分发挥最佳状态和全部功能。除了键盘和鼠标之外还可以连接手柄、摇杆、模拟器等。
    4. 网络部分:DirectPlay主要就是为了具有网络功能游戏而开发的,提供了多种连接方式,TPC/IP,IPX,Modem,串口等等,让玩家可以用各种连网方式来进行对战,此外也提供网络对话功能及保密措施。

  • Direct3D

    Direct3D(简称:D3D)是微软公司在Microsoft Windows操作系统上所开发的一套3D绘图编程接口,是DirectX的一部分,自1996年发布以来,Direct3D以其良好的硬件兼容性和友好的编程方式很快得到了广泛的认可,现在几乎所有的具有3D图形加速的主流显示卡都对Direct3D提供良好的支持。与OpenGL同为电脑绘图软体和电脑游戏最常使用的两套绘图编程接口。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烫青菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值