MCPLive > 杂志文章 > 英雄造时势 多媒体“被”崛起!

英雄造时势 多媒体“被”崛起!

2011-11-11《微型计算机》整理《微型计算机》2011年10月下

API开启3D世界大门的钥匙

在3D显卡的初生年代,关于图形运算接口标准化的概念还非常模糊,那时根本没有所谓的API。当时,如果要让某款显卡支持游戏的运行,游戏开发商就不得不为那款显卡定制一套程序。这也就意味着:每个硬件平台都有其专属的应用软件,不同平台之间的软硬件无法通用。在这种情况下,一套通用性的图形函数库就显得非常必要。只要游戏开发商和显卡开发商都能严格遵守这套函数库的规定,根据统一的标准来开发显卡和游戏,就能在不同的平台间实现广泛的兼容。

这套通用的函数库,就称为API(Application ProgrammingInterface,应用程序接口)。

所有的3D游戏都必须有图形API作为游戏和显示卡图形芯片之间的桥梁,以便游戏图形代码访问和使用显示卡图形芯片的硬件资源,完成3D图形硬件“加速”。

早的图形API是OpenGL。其历史可以追溯到1992年SGI(硅图像)公司开发的工作站用IRISGL图像编程界面。同年,以SGI为首的OpenGL Architecture Review Board(ARB)组织制定出了第一代OpenGL 1.0规范,当时大名鼎鼎的 3Dlabs、Intel、IBM、Microsoft、Apple等业界领袖都是ARB组织的成员。OpenGL 1.0的推出无疑具有划时代的意义,从此硬件制造商与游戏、应用软件开发商取得了空前的统一,无论是专业图形领域还是娱乐图形领域都唯OpenGL马首是瞻。微软也在此时积极地将OpenGL引进入Window NT之中,进一步加速了OpenGL的推广与普及。

1995年,OpenGL 1.1发布,同样获得了业界的一致认可和高度赞扬。但此时,微软却干了一件让业界大跌眼镜的事情—伴随着划时代的操作系统Windows 95的发布,微软出人意料地取消了Windows 95对OpenGL的支持,改为只支持自家开发的图形API,一套当时看来非常“垃圾”,但后来却一统游戏界的API——DirectX。尽管有微软的鼎力支持,但由于初代DirectX性能孱弱,当时几乎所有的游戏厂商都看好OpenGL,新生的DirectX 1.0和DirectX 2.0几乎都在默默无名中度过。

1997年,这一年注定是图形API之争的多事之秋。随着多媒体应用的迅猛发展,视觉应用热潮已经成爆发性增长,Windows 95系统下的3D游戏越来越多。可是Windows 95对于OpenGL“say no”的态度,让无数的游戏厂商大为光火。即使微软在1997年推出了改进的DirectX 3.0,但这种性能糟糕的图形API仍不被广大硬件厂商和游戏开发商接受,OpenGL仍是所有人心中的挚爱。为此,被誉为“Quake之父”的约翰·卡马克(John Carmack)甚至嘲讽DirectX 3.0根本就是个“支离破碎”的糟糕API,并联合了众多的游戏厂商一起向微软施压,强烈要求在Windows 95中加入对OpenGL的支持。也许是对自己的DirectX 3.0糟糕性能早有心理准备,微软在稍作姿态之后就在Windows 95 OSR2版(国内俗称Win97)中加入了对OpenGL的支持。而id software也如愿以偿地开发出了基于OpenGL的Windows游戏大作《Quake 2》。

不过,那年图形API白热化战争中真正的主角另有他人,它就是Glide。众所周知,伴随着3Dfx的崛起和Voodoo的横空出世,Glide与当时的OpenGL和D3D相比,效率更高,可以完全发挥Voodoo的3D图形处理能力。同时,Glide也为游戏开发者提供友善、易用的开发环境。借助Voodoo强悍的性能和Glide优秀的图形渲染算法,3Dfx的Glide在1996年到1999年之间,几乎抢走了OpenGL和DirectX的所有风光。尽管在此期间DirectX完成了从3.0到6.0版本的进化,OpenGL也发展到了1.2版本。但在3Dfx和Voodoo的光芒之下,Glide几乎一统天下。尤其是1998年被誉为史上经典显卡的Voodoo 2推出之后,Glide舍我其谁的霸者之气更是彰显无疑。即使id software作为OpenGL的死忠,坚持《Quake》系列游戏只支持OpenGL,3Dfx也通过编写基于OpenGL的Voodoo显卡驱动实现了对该游戏大作的完全支持。毫无疑问,这一段时间无论OpenGL还是DirectX,都活在Glide的阴影中。

API的战国开始在1999那个不平凡的一年,那年享受着Voodoo 3,玩着《Quake 3》、《半条命》的你,是否已经注意到各API阵营实力的突变前兆?接下来面世的7.0版本对硬件T&L的支持让DirectX像先秦变法般在乱世中迅速崛起。
API的战国开始在1999那个不平凡的一年,那年享受着Voodoo 3,玩着《Quake 3》、《半条命》的你,是否已经注意到各API阵营实力的突变前兆?接下来面世的7.0版本对硬件T&L的支持让DirectX像先秦变法般在乱世中迅速崛起。

在被Glide统治了三年之后,图形API的格局在1999年迎来了新的变革。这一年,昏招频出的3Dfx和不思进取的OpenGL成全了后世的图形API霸主——DirectX。也许是应了“利令智昏”的那句老话,1998年末,3Dfx为了垄断3D显卡行业,先是高调收购了显卡厂商STB,宣布进军显卡制造业,后又抛弃了帝盟、创新等非常重要的下游合作厂商。这种想要“好处完全自己占尽”的做法迫使众多的显卡制造商转向OpenGL或DirectX,3Dfx逐渐被孤立。

还记得那个激动人心的硬件T&L演示Demo么?那让多少人为之疯狂,又让多少游戏“爱”上了DirectX 7.0
还记得那个激动人心的硬件T&L演示Demo么?那让多少人为之疯狂,又让多少游戏“爱”上了DirectX 7.0

同样是在1998年末到1999年中期,为了抗衡Glide带来的巨大压力,SGI与微软破天荒地进行了合作,意图统一OpenGL和DirectX,并秘密合作开发下一代全新的图形API——Ferihant,用来取代现有的DirectX和OpenGL。SGI甚至为了Fer ihant计划停止了针对Windows 98的OpenGL开发计划,而业界对强强合作的Ferihant计划也一致看好。然而命运多舛,双方的合作在不久之后就出现了裂痕,SGI指责微软在开发过程中只想到如何用SGI的图形技术去补足自身的DirectX,而对Ferihant计划漠不关心。不久后,SGI宣布中止与微软的合作,并撤出了所有开发人员,OpenGL与DirectX仍是“你走你的阳关道,我过我的独木桥”。

GeForce 256的推出配合DirectX 7.0完成了T&L的独立运作,摆脱了T&L对处理器的依赖,成为了DirectX API崛起的基础。
GeForce 256的推出配合DirectX 7.0完成了T&L的独立运作,摆脱了T&L对处理器的依赖,成为了DirectX API崛起的基础。

转机出现在1999年8月,NVIDIA推出了划时代的GeForce 256(NV10)显示核心,GeForce 256核心固定功能的硬件矢量处理电路组成硬件T&L引擎,具备Dot3映射、立方体凹凸映射、硬件Alpha混合等先进3D技术。而微软看到分手后的OpenGL仍不思进取,开发进度缓慢,干脆就放弃对OpenGL的努力,转而全身心投入到DirectX的开发之中。看到了GeForce 256及其之后的GeForce 2以及ATI Radeon 256显示核心所带来的T&L硬件引擎的巨大潜力,微软于Windows Me发布时正式推出了DirectX 7.0,其大特色就是支持T&L。在T&L问世之前,位置转换和灯光效果都需要通过CPU来计算,这就对CPU的性能提出了非常高的要求。而在使用了T&L硬件引擎之后,这一切都可以靠显示核心来计算,这样就可以把CPU从繁重的负荷中完全解放出来。拥有T&L显卡,再配合DirectX 7.0,即使处理器性能较低,仍然能够非常流畅地运行3D游戏。DirectX 7.0的问世让遭受3Dfx背叛的厂商找到了新的方向。当时几乎所有显卡制造商都一边倒地选择了NVIDIA或ATI以及DirectX。由此,DirectX阵营从DirectX 7.0开始空前繁荣。而此时,遭受众叛亲离的3Dfx在自有品牌的“2D+3D”显卡模式上遭遇失败。加上Glide的封闭性更是令其举步维艰。即使在3Dfx幡然悔悟之后公开Glide源代码,也已经无力回天,终成为了NVIDIA的收购目标,这导致Glide正式从图形市场上隐退。

DirectX 7.0借T&L的魅力征服了不少Glide的旧部,即使勉强存活下来的OpenGL也在游戏领域兵败如山倒。

DirectX 7.0借T&L的魅力征服了不少Glide的旧部,即使勉强存活下来的OpenGL也在游戏领域兵败如山倒。
DirectX 7.0借T&L的魅力征服了不少Glide的旧部,即使勉强存活下来的OpenGL也在游戏领域兵败如山倒。

而OpenGL此时的境况也未见比Glide好多少,臃肿的机构导致更新速度缓慢,让OpenGL与DirectX之间的差距越来越大,这使几乎所有的硬件厂商和游戏厂商都加入到了微软的Di rectX阵营。而在DirectX 7.0之后,这一趋势更加明显,DirectX慢慢主宰了3D世界的游戏规则,OpenGL只能悄悄地在专业图形领域继续发挥着它不可替代的优势。游戏市场的API霸主DirectX也从7.0开始步入了所向无敌的辉煌,一直到今天。

硬件T&L在游戏中的巨大优势,让那个时代的玩家觉得秀GeForce 256的“跑分”很是自豪。你秀过么?
硬件T&L在游戏中的巨大优势,让那个时代的玩家觉得秀GeForce 256的“跑分”很是自豪。你秀过么?

DirectX与OpenGL发展时间线
点击查看清晰大图

分享到:

用户评论

用户名:

密码: