DX 11 & OpenGL 3.1

导读:爱华网网友为您分享以下“DX 11 & OpenGL 3.1”资讯,希望对您有所帮助,感谢您对aIhUaU.com的支持!

百度空间 | 百度首页 | 登录 难得糊涂!正如故乡是用来怀念的,青春就是用来追忆的,当你怀揣着它时,它一文不值,只有将它耗尽后,再回过头看,一切才有了意义——爱过我们的人和伤害过我们的人,都是我们青春存在的意义 主页博客相册|个人档案 |好友 查看文章

OpenGL 3 & DirectX 11: The War Is Over2009-03-04 11:24原文出处: OpenGL 3 & DirectX 11: The War Is Over

现今在DirectX与OpenGL皆已相当普及的年代裡,我们似乎也逐渐淡忘了两者从前的那段江湖恩怨。现今在DirectX与OpenGL皆已相当普及的年代里,我们似乎也逐渐淡忘了两者从前的那段江湖恩怨。 在著名硬体网站Tom’s Hardware的这篇专栏文章裡,作者带领我们重新回顾这场「绘图API 战争」中的起伏转折,以及OpenGL 3 与DirectX 11 的未来展望,是篇值得仔细阅读的好文章。在著名硬体网站Tom’s Hardware的这篇专栏文章里,作者带领我们重新回顾这场「绘图API战争」中的起伏转折,以及OpenGL 3与DirectX 11的未来展望,是篇值得仔细阅读的好文章。

「DirectX 最杀!很强很邪恶的微软帝国万岁!」 「DirectX最杀!很强很邪恶的微软帝国万岁!」

「想跨平台吗?OpenGL 才是唯一的光明道路!」 「想跨平台吗?OpenGL才是唯一的光明道路!」

「我是初学者,应该要选择DirectX 或OpenGL?」 「我是初学者,应该要选择DirectX或OpenGL?」

「我想做出一款超棒超好玩的游戏,要用DirectX 还是OpenGL 比较好?」 「我想做出一款超棒超好玩的游戏,要用DirectX还是OpenGL比较好?」

身为游戏程式设计者,如果你有定期浏览国外各大程式论坛的习惯,应该会对以上这些问题感到非常亲切、熟悉,而且可能还会有些反感吧?身为游戏程式设计者,如果你有定期浏览国外各大程式论坛的习惯,应该会对以上这些问题感到非常亲切、熟悉,而且可能还会有些反感吧? 在游戏程式设计相关领域的讨论区裡,最常见的万年讨论串非「DirectX 与OpenGL 的比较」莫属。在游戏程式设计相关领域的讨论区里,最常见的万年讨论串非「DirectX与OpenGL的比较」莫属。 DirectX 与OpenGL 双方各有死忠的支持者阵营,只要在网路上裡提出类似以上叙述的问题,往往会引来双方拥护者激烈的对抗与辩论;如果又不小心触动了某些资深程式设计者的「逆鳞」,就更加会战到天荒地老无以复加。

在过去的短短几年之内,我们亲身经历了消费性3D显示卡市场的爆炸性成长。 从以前只有硬派玩家会花大钱购买的「3D 加速卡」,到现在几乎已成为标淮配备的「3D 显示卡」,电脑绘图硬体不仅成功地打入了一般消费者的市场中,其性能也获得革命性的突破,目前GPU 的电晶体数量甚至已经超越了CPU。从以前只有硬派玩家会花大钱购买的「3D加速卡」,到现在几乎已成为标淮配备的「3D显示卡」,电脑绘图硬体不仅成功地打入了一般消费者的市场中,其性能也获得革命性的突破,目前GPU的电晶体数量甚至已经超越了CPU。 时至今日, DirectX 与OpenGL 在电脑绘图与游戏业界中的地位,究竟是处于分庭抗礼的情势,或者已经分出了胜负? 且让我细说从头。且让我细说从头。

这场由Microsoft(简称为MS)与Silicon Graphics (简称为SGI)公司相互交锋的绘图API 战争,已经持续了十年之久。当年DirectX 初试啼声之时,MS 挟其庞大的企业资源以及Windows 作业系统的市佔率,正摩拳擦掌淮备倾全力推行自家设计的绘图API 标淮。而相

较之下,虽然SGI 的资源比较弱势,但是行之有年的OpenGL,早已佔据了电脑绘图界的王者地位而无可动摇;同时, OpenGL 也得到最强而有力的同盟军John Carmack 的支持背书 。由于当时使用OpenGL 开发的Quake Engine所达到的惊人绘图效果,因此使得所有绘图显示卡的製造商,都必须提供完整的驱动程式支援OpenGL 标淮,才能够符合游戏开发者与游戏玩家对于显示卡硬体的期望。

SGI 的OpenGL 是当时专业绘图市场中的龙头老大,佔有极大的优势,而与此同时MS 只能够一切从零出发。 要开发出既好用且功能强大的绘图API,学习曲线可说是相当的严峻;在早期的DirectX 版本中,很多程式设计者都无法适应那种与OpenGL 全然不同的複杂程式概念,因此许多人都对于DirectX 不屑一顾,并不看好它的未来发展。要开发出既好用且功能强大的绘图API,学习曲线可说是相当的严峻;但是MS 并没有轻言放弃,随著每次释出的全新版本,DirectX 正一步步逐渐跟上OpenGL 的脚步。

在双方开战初期,OpenGL 拥有非常显著的有利优势,然而整场战役的转捩点,发生于2001 年MS 释出的DirectX 8 之中 。这是首次DirectX 的API 不再仅止于拷贝SGI 的规格标淮;MS 在这次DirectX 的全新版本中,引入了对于整个电脑绘图界来说极为重要的创新与变革:Vertex Shader 以及Pixel Shader。顶点著色器与像素著色器的诞生,为绘图程式开发者们开拓了一条前所未见而且闪闪动人的星光大道。

相较之下,当时SGI 的主要收益来源是非常昂贵的3D 绘图工作站,他们没能预期到3D 绘图显示卡市场的惊人需求爆发,而ATI 与Nvidia 这两间新兴的显示卡厂商,又竟然能以相当低廉的价格,将绘图显示卡打入游戏玩家的市场。另一方面,OpenGL 规格标淮的发展,也受到各软硬体厂商之间的利益衝突因素牵连而迟迟无法达成共识。而在MS 这方,却仅仅与ATI 以及Nvidia 两间公司合作制订DirectX 的API 规格,并且拥有最终的关键裁量权,因此能够相当顺利且迅速地持续发展。

在彼消此长的情况下, 当DirectX 9 推出后,更是成功地获得了一场决定性的胜利 。于是,有许多软体与游戏的开发者,决定开始使用DirectX 或者同时提供两者的支援;只有John Carmack 以及有跨平台需求的开发者,仍然对于OpenGL 忠心耿耿,但是他们的阵营已经比从前衰弱许多。当然,OpenGL阵营手上仍然握有逆转命运的契机。 于是在二年前,OpenGL ARB 组织终于将OpenGL 的开发权交付给了Khronos集团,将一切的希望都寄託在他们的身上。经过了二年的漫长等待后,在今年八月的SIGGRAPH 研讨会中,Khronos 终于发表了万众瞩目的OpenGL 3,所有OpenGL 阵营的支持者莫不期待能够藉此扳回一成。然而,事情并没有如原先计画般的顺利。

将时序拉回2002年,此时OpenGL正逐渐失去电脑绘图界的领先地位。 MS 的DirectX 9 提出了全新的著色器(Shader) 绘图功能以及高阶著色语言(HLSL),而OpenGL 阵营却拿不出可以相比拟的功能。在Shader 绘图架构问世之后,显示卡硬体很难再依循著传统的绘图管线架构生产製造,于是为了弥补现有OpenGL 不足之处,各家显示卡厂商开始各自扩充原有的OpenGL 规格,自订出一套自己专属的延伸绘图API。

正当OpenGL 阵营陷入一片混乱之时, 3DLabs这间公司瞭解到OpenGL 亟需迅速而彻底的变革,才能够跟得上显示卡硬体一日千里的发展脚步,于是当仁不让地提出一项拥有许多重大改革项目的OpenGL 重整计画。首先,他们为OpenGL 加入了高阶著色语言GLSL,

接著为了使OpenGL 得到良好的效能,必须将API 进行全面性的整理修改;在OpenGL 2.0 Pure 的核心规格裡,他们计画删除那些过时以及多馀的功能特徵,只留下最符合现今硬体主流架构的功能,使开发者能够慢慢地由老旧的OpenGL 1.x 版本,转移到全新的OpenGL 2.0 版本。

然而很遗憾地,经过OpenGL ARB组织的冗长讨论后,这项周全的改善计画被回绝了。 在最终释出的OpenGL 2.0 裡,仅仅加入了对于GLSL 的支援 ,而3DLabs 所提案的其他功能全都随风而逝,导致OpenGL 2.0 的版本仍然远落后于DirectX 所提供的功能。此时各家显示卡厂商与软体开发者,都同意事态不能够再继续这样发展下去,否则OpenGL 将会逐渐失去地位而被人遗忘。此时各家显示卡厂商与软体开发者,都同意事态不能够再继续这样发展下去,否则OpenGL将会逐渐失去地位而被人遗忘。 最后,OpenGL ARB 终于在2006 年时,将接力棒交到了Khronos 集团手上。

Khronos 以过去管理OpenGL ES 的高效率与负责态度著称,在接手OpenGL 的开发后,他们很快地建立起对外的沟通管道,并且对于OpenGL 的未来发展与多方厂商进行周详的讨论,最后提出了两项OpenGL 发展计画的里程碑:Longs Peak 与Mount Evans 。首先,在第一个开发里程碑Longs Peak 中,他们打算删除那些已经过时的API,使OpenGL 能够集中在一组比较先进的功能组之中,并且提供与Shader Model 2 相同等级的功能;而第二个里程碑Mount Evans,则期望能够加入全新的API,并且提供与Shader Model 4 相同等级的功能。

时程很紧迫,需要完成的项目非常多,刚开始的开发状况仍称得上是一切顺利,没想到自2007 年年末开始,Khronos 就不再公布任何关于OpenGL 新版的开发进度消息,突然间由开诚布公的沟通,一瞬间转变为完全封闭的态度。直到今年八月SIGGRAPH 的研讨会裡,OpenGL 3 总算是千呼万唤始出来。直到今年八月SIGGRAPH的研讨会里,OpenGL 3总算是千呼万唤始出来。但是在惊喜之后,则是失望、不满以及愤怒的情绪,如同泄洪般在网路讨论区里漫天盖地而来。

这些强烈的负面回应,不只是因为OpenGL 3比原先预定的时程延后了将近一年的时间才发布,同时也因为大多数在Longs Peak中所承诺的新功能也完全地被舍弃了。 检视最终公布的成果, OpenGL 3 看起来简直就像是OpenGL 2.2 版本一样 ,只不过是个「增进性的更新」(incremental update) 而已,API 并没有真正地产生改变。OpenGL 3 所提供的新功能,也与DirectX 10 非常相似。 OpenGL 3所提供的新功能,也与DirectX 10非常相似。

根据Carmack 的说法, OpenGL 3 标淮未能达到预期成果的主要原因,在于某些CAD 软体的开发者并不满意Longs Peak 中制订的规格 。这些软体厂商,害怕相容性的问题会使得他们的应用程式某些比较老旧的功能失效。深入参与研发程序的Nvidia 公司Lichtenbelt 也说:「我们在应该移除哪些功能的议题上,遭遇到意见不一致的情势,主要是因为不同的市场需求所致。 我们发现我们无法做出一个满足所有人需求的API。 」

回过头来看看另一方的DirectX 阵营。回过头来看看另一方的DirectX阵营。 在2006 年发佈的DirectX 10 裡,MS 对DirectX 整体做出了史上最彻头彻尾的修改。近年来,传统的API 绘图架构已经快要跟不上显示卡硬体的发展脚步,因此DirectX 10 的远大目标,就是要为未来的硬体架构提供一项稳固的根基建设。然而,DirectX 10 并没有如预期般获得游戏

玩家与开发者的喜爱及关注。

对于游戏玩家来说,即使使用了DirectX 10 可能也感受不到明显的改变;更糟的是,新的API 只为Vista 以上的系统撰写,正好为敌视MS 的使用者找了一项非常充足的开战理由。而对于游戏开发者来说,在Windows XP 仍然佔据绝大多数消费者市场的情况下,DirectX 10 与Vista 作业系统绑在一起,不仅转换成本极高而且也发挥不了显著的市场作用,因此多数的游戏专案,仍然选择坚守著传统的DirectX 9 标淮。

在最近刚揭露初步讯息的DirectX 11中,公布了不少值得游戏开发者引颈期盼的全新功能。 DirectX 11 奠基于10 之上,也可以称为是一次增进性的版本更新;在DirectX 11 正式问市以后,许多开发者应该会选择略过DirectX 10,直接使用DirectX 11 开发最新的游戏。 而最棒的是, DirectX 11 不仅能够向下相容于DirectX 10 的显示卡,同时也能够在Windows 7 与Vista 上执行!

在DirectX 11的许多新功能中,我个人认为最重要的莫过于多执行绪绘图功能的支援 。 再者,在GPU 的专用开发语言上,相较于Nvidia 大力推行的CUDA,DirectX 11 的Compute Shader 优势在于能够同时支援ATI 以及Nvidia 的显示卡,甚至是未来的Intel Larrabee 显示硬体,而且也与DirectX 的功能具备有更佳的整合能力。另外像是Tessellation 阶段的导入、Texture Compression 效果的改善,以及物件导向化的Shader Model 5 等等,也都是对于电脑绘图与游戏开发领域非常具有吸引力的功能特点。

许多人对于OpenGL失望之处,不仅是API本身的能力,同时也包含被处理的过程。 在OpenGL 3 裡,仅仅勉强跟上了DirectX 10 的脚步,而在几乎同一时间裡,MS 已经公布了次世代DirectX 11 版本的细节。虽然相较于DirectX 10,最新的DirectX 11 并没有什么革命性的创新之处,但是自DirectX 10 推出以来,MS 已历经了二年的困难处境,所以现在MS 得以在稳健的基础上,回收当时花费庞大心力重建API 的功夫。

原文标题所下的「The War Is Over」 ,已经很明确地表达了作者对于DirectX 与OpenGL 之战的心得感想。但是在文章最后,即便未来的可能性相当难以预期,作者仍希望在后续OpenGL 3 的更新内容裡,能够证明他所做出的结论是错误的。就我自己的感想来说,OpenGL 仍然是跨平台绘图应用程式的唯一选择,我也不希望OpenGL 从此衰落而一蹶不振,演变成DirectX 独占鼇头的局面。唯有正向的竞争压力,才能够加速促进绘图API 以及绘图显示硬体的发展。

DX 11 & OpenGL 3.1

在瞭解了DirectX 与OpenGL 两强相争的历史渊源以及来龙去脉之后,或许有些读者还是会想问:「到底应该要选择学习DirectX 或者OpenGL?」对于想进入游戏程式设计领域的初学者来说, 我的建议是:两者都需要学习。DirectX 与OpenGL 具有不同的设计理念与实作技巧,也拥有各自独具的优势与弱点;在游戏业界中,两方都有广泛的使用族群,并没有特别偏向某一方,所以两者皆不可偏废。

如果非要从两者中挑一个入门,那么我会建议由OpenGL开始学习电脑绘图理论与实作技术 。 因为学习DirectX 的初学者,往往很容易被视窗程式的建立以及COM 元件的架构所迷惑,反而会模糊了学习电脑绘图程式设计的焦点。若是使用OpenGL,便可以利用GLUT 或其他的辅助函式库,大幅简化与平台相关的视窗程式建立细节,使学习者能够专注在电脑

绘图理论与程式实作技术的领域中。当然如果你在进入电脑绘图领域之前,已经相当熟悉Windows 视窗程式设计,那么选择DirectX 做为出发点也同样是没问题的。

在学会了DirectX 与OpenGL 之后,就可以把它们当成「个人工具箱」裡的两把利器:当我想要学习最新的Shader 程式设计,将显示卡性能发挥到极限时,我会拿出DirectX 这把屠龙刀;而当我有个程式概念想要快速完成雏形试做时,我就会挥舞OpenGL 倚天剑。不管是DirectX 还是OpenGL,随你自由来去,岂不乐乎?不管是DirectX还是OpenGL,随你自由来去,岂不乐乎?

类别:默认分类 | 添加到搜藏 | 浏览(22) | 评论 (0) 上一篇:唐僧师徒

VMWare虚拟机安装Mac OS X 10.5 ... 最近读者: 登录后,您就出现在这里。

nudt2004

网友评论: 发表评论:姓 名: 注册 | 登录 *姓名最长为50字节

网址或邮箱: (选填)

内 容: 插入表情 ▼ 闪光字

验证码:

看不清?

取消回复

©2009 Baidu 下一篇:


百度搜索“爱华网”,专业资料,生活学习,尽在爱华网  

爱华网本文地址 » http://www.aihuau.com/a/392351/304401279941.html

更多阅读

qq捕鱼假日全攻略 精 捕鱼假日qq游戏

qq捕鱼假日是腾讯一款网络游戏,和腾讯的其他游戏一样,仍然保持以深海捕鱼为主题。我第一次玩是在ipad上,现在拿到电脑上玩还有点不适应,不过规则都是一样的,其根本的原则就是用最少的钱补到最多的鱼。下面是我分享的捕鱼技巧与炮火的配置

业务流程再造 流程再造是企业转型升级的最佳选择

流程再造兴起于上个世纪九十年代初,想当初有多少人为之鼓吹、为之呐喊,不到两年时间,就迅速风靡全球。然而二年过去了,流程再造的鼻祖迈克尔·哈默教授亲自宣布:全球流程再造失败率高达70%。在国内失败的比例可能更高。于是斥责、怀疑甚

五大发展理念解读之三 专家解读西饼店设计理念

 西饼店设计解读 --周边环境对饼店设计影响浅析  在西饼店室内设计中,该如何把握饼店的风格和设计的尺度. 我们常见的有两种倾向:一种是呈现出设计师自身强烈的设计偏好和风格取向另一种是再现店主人的审美情趣和经营特点。乍一看仿

政治经济学批判序言 第1节: 不是让女孩学坏 序言(1)

系列专题:《借鉴他人让幸福驻足:不是让女孩学坏》  序言  写这篇文章,不是为了写别人的沉痛给大家看八卦的,只是为了让大家可以早点清醒的认识到"有些人一旦错过就不在"的道理。不要被那些身边最庸庸无为,对你点头哈腰的所谓痴情男

投资银条选什么品牌 城市品牌冲动 投资什么样的城市?

中国的改革发轫于农村,也就是农民对土地的经营权与收益权的重新拥有;但中国的主要增长是在城市或城市化的过程中实现的。明显的例子是,在东部沿海,一个发达城市的GDP常常相当于西部几个省的总和。   城市于是成为明星,城市被赋予太多

声明:《DX 11 & OpenGL 3.1》为网友蒓苩分享!如侵犯到您的合法权益请联系我们删除