【杂谈】为什么大多游戏支持 DirectX 开发而不是 OpenGL?

1#
发表于 2014-4-6 22:04:06 | 查看: 1253| 回复: 6













事实上在早年 OpenGL 即使在游戏领域也是对 DirectX 压倒性的优势。John Carmack 曾嘲讽 DirectX 是“horribly broken” 的 API。



直到 DirectX6 时代 OpenGL 都被认为是比 DirectX 更加优秀的 API,即使那个时候 DirectX 已经有《CS》《极品飞车 5》等大作的支持,却依然不受当时 FPS 游戏霸主 id Software 的待见。作为那个时代的显卡杀手,《Quake III》都仅仅只支持 OpenGL。



DirectX7 发布之后 DirectX 和 OpenGL 开始逐渐平起平坐。直到 2000 年 DirectX8 的发布才使 DirectX 在游戏领域完全确立了自己的优势 —— 支持革命性的 programmable GPU rendering pipeline 来代替原有的 fixed function pipeline,引入了 Vertex Shader 和 Pixel Shader。而 OpenGL 的核心正式支持 programmable rendering pipeline 已经是四年之后 OpenGL 2.0 发布的时候了。想想这中间会有多少游戏公司 / 游戏引擎公司会倒向 DirectX 吧。



说到 OpenGL 衰落的原因,不得不提到 OpenGL 开发的机制。OpenGL 早期一直是由 ARB (



OpenGL Architecture Review Board,成员包括 Nvidia, ATI, Intel, Apple, IBM, SGI 等等)成员共同维护。每个成员可以为了支持自己硬件新的 feature 来开发 OpenGL enxtension, 所有成员一致通过的 extension 才能加入到下个版本 OpenGL 核心中。这就造成了不同成员为了各自利益互相斗争,拖慢了开发进度。微软曾经也是 ARB 的成员之一,后来因为受不了这种机制退出专心搞自己的 DirectX 去了。



如果一个 API 越流行,那么去学习这个 API 的人就会越多,游戏公司会越容易招到掌握这个 API 的图形程序员,也就会更多的基于这个 API 开发游戏。用这个 API 的游戏越来越多,就会更多的得到



硬件厂商的支持,为面向这个 API 的驱动做更多的优化,然后这个 API 就会更加流行。如此进入一个良性循环,这就造成了 DirectX 现在称霸游戏领域,OpenGL 几乎绝迹的局面。



在 06 年从 ARB 交由 Khronos Group 掌管之后, OpenGL 最近几年也迎头赶上,从性能,易用性来说其实和 DirectX 已经相差不大。但是在相比 DirectX 没有突出优点的情况下(除了跨平台),已经习惯使用 DirectX 的游戏厂商也不可能重新投出 OpenGL 的怀抱。



最后一点,OpenGL 只是一个单纯的图形库,而 DirectX 是包含图形(Direct3D), 声音(DirectSound), 输入(DirectInput), 网络(DirectPlay)的一整套游戏开发解决方案。对开发者来说使用 DirectX 显然要方便的多。



下面是我之前一个同事看完我的回答的评论,也贴上来吧。



“还有很重要的一点, GL 从不淘汰任何老的 API. DX10 相对于 DX9,是个全新的 API,革命性的更新,彻底推倒重来. 但 GL 为了向后兼容,保留了很多对硬件和驱动都不友好的 API.除了跨平台和早期对精度的要求比 DX 高,其他简直是一无是处”
回复

使用道具 举报

2#
发表于 2014-4-7 00:04:20
感觉看不懂……
回复

使用道具 举报

3#
发表于 2014-4-7 00:14:02
原來是這樣展開的
難怪相關領域的OpenGL只是被提提
但使用上還是以DirextX壓倒性的數量

長知識了
回复

使用道具 举报

4#
发表于 2014-4-7 01:47:10
不明觉厉
无可奈何花落去,似曾相识燕归来
回复

使用道具 举报

16
转嫁游戏大师 - Kagiyama Hina狂气の红眼 - Reisen究极の核融合 - Utsuho封印の大魔法使 - Byakuren蓬莱の人形 - 飘上月球-不死の烟永恒の二小姐 - Flandre大图书馆の管理员 - Little Devil西红柿の幽幽子 - Yuyuko危险の魔术师 - Sakuya风祝の祭祀 - Sanae miao非想天非非想天の少女 - Tenshi东风谷 早苗 - Sanae古明地 觉 - 就连怨灵也为之恐惧的...紧闭的恋之瞳 - Koishi艾米莉娅 王选ver - Re:从零开始的异世界生活10周年纪念勋章 - 梦次元10周年纪念勋章
5#
发表于 2014-4-7 09:47:16
看不懂
回复

使用道具 举报

初音未来 - Vocaloid宇治松 千夜 - 请问您今天要来点兔子吗?埼玉 - 一拳超人original(11) - 绘师: なつめえり
6#
发表于 2014-4-7 11:51:47
某种意义上来说我比较喜欢OpreGL
回复

使用道具 举报

金刚 - 舰队collection百鬼夜行 - Ssuika1周年纪念勋章 - 论坛1岁纪念勋章时崎狂三 - 约会大作战香草 - Sayori博丽 灵梦 - Reimu丝芭露 - 放学后的昴星团
7#
发表于 2014-4-7 12:09:36
silufear 发表于 2014-4-7 00:14
原來是這樣展開的
難怪相關領域的OpenGL只是被提提
但使用上還是以DirextX壓倒性的數量

在大型渲染项目里面别指望它能给您跑一部电影出来。DirectX也就是巨硬平台的游戏压倒。openGL是跨平台的,那些游戏如果不出在微软平台上那么通常就用openGL。例如Wii和PS3还有PS4的。老任就对openGL情有独钟2333
不要再问我要ID,我都已经多次告诉过你们怎么找图了,去画师自己的页面去看才叫原汁原味,才叫最大的尊重。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则