- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
为什么你应该使用OpenGL而不是DirectX
为什么你应该使用OpenGL 而不是
DirectX?
大家可以思考一下:why we choose a closed source API when the open source is
equally good or better?
当我们遇到其他游戏程序员并谈论我们使用OpenGL 开发Overgrowth 时总是会遇到怀疑的
眼神。为什么要用OpenGL?DirectX 才是未来。当我们使用OpenGL 去告诉显卡如何工
作时,房间的温度下降了10 度(啥意思?我一直以为A 卡和N 卡的区别,没想到作者认为
是API 的问题?Holy。。。)。
OpenGL 是什么?
在1982 年,Silicon 公司开发售卖使用称为Iris GL 的API 的高性能图形显示终端。随后的
几年,Iris GL 变得臃肿和难以维护,直到silicon 决定彻底走向新的一步:完全的重构Iris GL
并开源。他们的竞争者可以使用这种新的开放图形库(OpenGL )但是作为回报,他们必须
帮助维护更新该库。
如今,OpenGL 由Khronos Group 管理。一个由很多公司参与组成的非营利组织,重点是
维护高质量多媒体API 。在底层,由OpenGL Architecture Review Board (ARB)来管理。各
种游戏平台都支持OpenGL,包括:Mac,Windows ,Linux,PS3,Wii ,IPhone,PSP
和DS,除了XBox,下面我们就要介绍它:
DirectX 是什么?
自从MS-DOS 时代,微软就明白游戏是一个用户选择操作系统的重要依据。基于这个原因,
在1995 年,微软创建了一套专用库以鼓励大家开发winodw95 平台独占的游戏。这些库包
括Direct3D,DirectInput 和DirectSound,整个集合就是大家知晓的DirectX。当微软2001
年进军游戏市场时,XBOX 意图统治次世代游戏市场。
看看现在的状况,微软的战略无疑是成功的。大多数的 PC 游戏都是用DirectX,大多都运
行在windows 或者Xbox360 上。但有些例外,它们无法再竞争对手的平台上,比如
Playstation, Mac OS 和Wii 。于是,它给我们带来一个新的问题:
为什么大家都是用DirectX?
使用DirectX 是因为API 的选择是基于游戏开发的积极反馈,这一切都发生在2005 年:
如果一个API 越流行,那就有越多人用,然后它就会更流行,如此循环。。。这种网络效
应带来的结果就是:更流行的API 获得更好的硬件厂商支持,图形程序员随后更意于选择
他们已经熟知的API 。
DirectX 的胜出得益于微软的两次十分尖锐的战役,围绕XBox360 和windows vista ,也包
括着关于OpenGL 这种开源项目都面临着的FUD (恐惧,不确定,怀疑),以及DirectX
夸大宣传的优势。从此,这种网络效应将会一步步增强直到OpenGL 从地球消失。(作者
好悲观。。。)
1. 网络效应与恶性循环
Win 平台上,DirectX 的图形驱动显然比OpenGL 的驱动得到更好的维护。这是由于厂商支
持引起的恶性循环。游戏开发者选择是用OpenGL 还是DirectX 由很多因素决定,显卡厂
商得到的OpenGL 驱动BUG 比较少,因为用DirectX 的比较多,所以不能很好的支持
OpenGL 的驱动。
简单来讲,越多程序员懂得DirectX 甚于OpenGL,那么更多游戏使用前者开发。这会引起
又一个恶性循环,更多地项目使用DX 开发,更多地程序员需要学习如何使用它。。。。
2. 关于 OpenGL 的FUD 效应和 Vista
微软在vista 发布时对OpenGL 使用了FUD 战术。在2003 年,微软推出了前面介绍维护
底层的OARB 组织--预示着微软不再会对OPGL 的未来感兴趣。在2005 年,微软在
SIGGRAPH 和WinHEC 上给大家的假象就是他们从vista 开始将不会支持OPGL 除了对
XP 程序的向后兼容。这种版本的OPGL 将会建立在DirectX 之上,这当然引起严重的性能
问题。这场战役导致很多优秀程序员转战DX。
当vista 发布后,他又允许厂商创建快速可安装客户端驱动(ICDs)以保留对原生OpenGL
的支持。OpenGL 发布消息称OpenGL 依旧是第一阵营,但是OPGL 在vista 上的效果始
终不如Direct3D。
文档评论(0)