DirectX、Direct3D和OpenGL的区别

原创 2012年03月22日 17:11:14

DirectX,(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口。由C++编程语言实现,遵循COM。

 

 

DirectX是由很多API组成的,按照性质分类,可以分为四大部分,显示部分、声音部分、输入部分和网络部分。

显示部分

  显示部分担任图形处理的关键,分为DirectDraw(DDraw)和Direct3D(D3D),前者主要负责2D图像加速。它包括很多方面:我们播放mpg、DVD电影、看图、玩小游戏等等都是用的DDraw,你可以把它理解成所有划线的部分都是用的DDraw。后者则主要负责3D效果的显示,比如CS中的场景和人物、FIFA中的人物等等,都是使用了DirectX的Direct3D。

声音部分

  声音部分中最主要的API是DirectSound,除了播放声音和处理混音之外,还加强了3d音效,并提供了录音功能。我们前面所举的声卡兼容的例子,就是利用了DirectSound来解决的。

输入部分

  输入部分DirectInput可以支持很多的游戏输入设备,它能够让这些设备充分发挥最佳状态和全部功能。除了键盘和鼠标之外还可以连接手柄、摇杆、模拟器等。

网络部分

  网络部分DirectPlay主要就是为了具有网络功能游戏而开发的,提供了多种连接方式,TCP/IP,IPX,Modem,串口等等,让玩家可以用各种连网方式来进行对战,此外也提供网络对话功能及保密措施。

 

OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。

 

Open GL仍然是唯一能够取代微软对3D图形技术的完全控制的API。它仍然具有一定的生命力,但是Silicon Graphics已经不再以任何让微软不悦的方式推广Open GL,因而它存在较高的风险。游戏开发人员是一个有着独立思想的群体,很多重要的开发人员目前仍然在使用Open GL。因此,硬件开发商正在设法加强对它的支持。Direct3D目前还不能支持高端的图形设备和专业应用; Open GL在这些领域占据着统治地位。最后,开放源码社区(尤其是Mesa项目)一直致力于为任何类型的计算机(无论它们是否使用微软的操作系统)提供Open GL支持。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Opengl与Directx的区别

OpenGL 只是图形函数库。 DirectX 包含图形, 声音, 输入, 网络等模块。  单就图形而论, DirectX 的图形库性能不如 OpenGL OpenGL稳定,可跨平台...
  • yihaiyiren
  • yihaiyiren
  • 2016年08月15日 13:39
  • 4660

图形世界分裂的两派——理清Direct3D和OpenGL的脉络

计算机三维图形是指将用数据描述的三维空间通过计算转换成二维图像并显示或打印出来的技术,API(Application Programming Interface)即“应用程序接口”是连接应用程序与操作...
  • pizi0475
  • pizi0475
  • 2010年04月08日 08:46
  • 7582

学习游戏开发,先学OpenGL再学Direct3D还是直接学习Direct3D?

查看: 11191|回复: 30    学习游戏开发,先学OpenGL再学Direct3D还是直接学习Direct3D? [复制链接]   ...
  • a237653639
  • a237653639
  • 2015年08月24日 17:22
  • 2373

Direct3D和openGL故事【转】

自1996年开始,3D API之战延续至今,并随着GPU程序的广泛应用而炮火渐希,淡出争论的焦点。如果非要论个输赢的话,应该是OpenGL绊倒了自己,以致大业未成。而OpenGL ES异军突起,反而要...
  • wag2765
  • wag2765
  • 2016年01月25日 16:25
  • 883

OpenGL Direct3D(DirectX)区别

1. OpenGl仅仅是个图形图像接口,基本不包括其它多媒体功能, 它的优势是平台无关性。DirectX则是基于Windows的,不能在MAC 和 Linux Solars上使用 。 2. Op...
  • victory_li
  • victory_li
  • 2017年04月11日 15:58
  • 709

OPenGL与Direct3D的区别

  • 2009年08月17日 12:38
  • 55KB
  • 下载

Direct3D好,还是OpenGL好呢?

Q: Direct3D好,还是OpenGL好呢?A: 当你去OPENGL网站问时,肯定说是OPENGL好,如果去D3D网站问时,肯定是说D3D好。其实上,这两个API都是做同样的事情,都是基于同样的硬...
  • caimouse
  • caimouse
  • 2004年09月28日 10:05
  • 4141

DirectX、Direct3D和OpenGL的区别

DirectX,(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口。由C++编程语言实现,遵循COM。     DirectX是由很多API组成的,按照性质分类,可以...
  • sprintwater
  • sprintwater
  • 2012年03月22日 17:11
  • 3543

Direct3D 11 学习笔记(一)

Direct3D 11 学习笔记(一) Setting Up The Direct3D 11 Device   第一步,创建三个对象:a device, an immediate cont...
  • u012220268
  • u012220268
  • 2018年01月19日 11:44
  • 24

OpenCL、OpenGL和DirectX三者的区别

什么是OpenCL?   OpenCL全称Open Computing Language,是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算...
  • fengye245
  • fengye245
  • 2016年06月10日 10:52
  • 15762
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DirectX、Direct3D和OpenGL的区别
举报原因:
原因补充:

(最多只允许输入30个字)