DirectX、Direct3D、OpenGL的区别(DX、D3D、OpenGL)

翻译自:https://www.extremetech.com/computing/54604-top-tip-what-are-opengl-direct3d-directx-etc

 

首先一点澄清:DX包含D3D,D3D是DX的主要图形处理部分,OpenGl从某方面来说是一个API。

一个游戏开发者,或者任何图形学程序员,都能选择是否去使用DX或者OpenGl的API。如果他们想要能完全控制内部实现,可以自己编写需要的模块来使用。

在补丁v226f之后的最终版本,虚幻游戏允许你的游戏来选择自己的API,一些API已经过时或者集成到DX或OpenGl中。

 

#1 DirectX(包含Direct3D) 和 OpenGl 都是 API

API = Application Program Interface  应用程序编程接口

API允许开发者(游戏开发者或者视频CAD开发者等)使用预定义的函数调用让开发游戏或者使用CAD更方便。DX和OpenGL定义了多种方式去渲染图片,而且他们提供了中间层去控制硬件和软件,(译者注:某著名学者说过,任何计算机的问题都可以通过添加中间层的方式解决)。这些预定义的控制层简化了视频软件开发如游戏。

当使用特定功能的API时,开发者会在开发写代码的时候会更简单快捷,否则开发者必须自己去写所有的图形渲染。

#2 默认情况下,Win95以上的Windows系统在某种程度上已经包含了所有早期版本的API

所以他们不必去安装早期的版本,不过需要实时更新。

#3下面是我们一定要知道的DX和OpenGL的差异

OpenGl单纯是一个图形渲染API,所以它只能处理图像

DirectX包含图形(Direct3D)、声音甚至网络API,他们全都在一个package里

#4 DX和OpenGl的背景

D3D(现在包含在DX)是由微软发明用来对抗OpenGL的,微软发明的D3D会更简单,微软希望D3D未来会比OpenGL更强大,并取代他。(译者注:D3D的API源码真的比OpenGL的简洁太多)

OpenGL是SGI公司在1980年发明的一门语言,开始SGI公司只是内部使用其强大的图形渲染能力,慢慢的,他们意识到如果想让其成为行业标准,必须开源允许其他公司来一起定义规范。

 

通过上面几条,你应该大致了解了这几个的区别

 

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值