微软与3D图像 ——OpenGL与Direct3D之战(节选)

原创 2001年09月16日 10:56:00

                   微软与3D图像 (节选)
                                        Alan Akin 著
                                        nightmare 译
      1995年至1996年,微软实行了一项新计划,以支持在Windows95上运行游戏,目标是把市场扩展到被任天堂和世嘉控制的游戏领域。然而,微软不想用已经在NT上提供的OpenGL技术。微软收购了Rendermorphics,Ltd.并得到他的被称作RealityLab的3D API。经重新整理,微软发布了新的3D API——Direct3D。
    微软,推行Direct3D,冻结OpenGL!
    微软当时拒绝了在Window95上支持OpenGL。不止如此,微软采取异常手段收回对OpenGL的MCD驱动接口的支持,以致硬件厂商不得不放弃已经进入最后测试的OpenGL驱动。微软的市场部门开始向游戏开发商、硬件厂商、新闻出版机构推销Direct3D,同时排斥OpenGL。
      API之战!
      Silicon Graphics和很多OpenGL用户都依赖OpenGL创新且高性能的技术。但很明显微软打算用Direct3D代替OpenGL,尽管D3D有很多问题而且不能像OpenGL那样被硬件厂商扩展。Silicon Graphics决定在1996 SIGGRAPH会议上作一项演示。演示证明OpenGL至少和D3D一样快,从而驳倒微软的市场论调。因为OpenGL是业界公认标准,比D3D功能丰富,而且图像质量要高一些,所以演示在计算机图形和游戏开发社区导致了激烈论战。
    游戏开发者要求OpenGL和D3D站在同等地位!
    当技术和市场问题暴露,强烈的支持OpenGL行动开始了。Doom的开发者John Carmack声明拒绝D3D,Chris Hecker在游戏开发杂志上发表了两套API的全面分析,移微软应放弃D3D为结论。游戏开发者先后两次向微软递交请愿书。第一次由56名首席游戏开发者要求微软发行OpenGL MCD驱动,但未成功,因为会让OpenGL与D3D竞争。第二次的公开信由254人签名开始,截止时达到1400人。微软的回答仍是重申旧市场立场。尽管请愿者清楚的要求两套API同等竞争以促进发展,微软却以增加D3D的投资、更加减少OpenGL的投资为回应。
      Fahrenheit——D3D与OpenGL的合并?
      Silicon Graphics,Microsoft, HP,Intel达成协议联合开发下一代3D API——Fahrenheit。但不了了之,因为微软的打算是把OpenGL的技术用到D3D里并且以此之名驱除OpenGL的威胁。(估计DirectX 8 Graphics即是剩下微软独自开发的Fahrenheit,吸收了OpenGL的很多东西。)
      OpenGL豪气不减当年!
      OpenGL依然是唯一能与微软单独控制的D3D对立的API,尽管Silicon Graphics不再以任何微软不能接受的方式推行OpenGL。游戏开发这是独立的,并且很多关键人物在用OpenGL,因此,硬件厂商正努力提高对其支持。D3D仍不能支持高端图像和专业应用,而OpenGL主宰着这些土地。在开放原码社区,Mesa项目正提供独立于微软的OpenGL驱动。

译者注:表面上好像D3D比OpenGL支持更多的功能,其实由于D3D不支持硬件扩展,如硬件全景阴影,硬件渲染顺序无关半透明材质等新技术根本无法使用,而D3D(特指D3D8)本身提供的功能只有一小部分能在使用HAL且硬件不支持时模拟,你要用大量代码分析硬件能力和采取不同策略。
   

图形世界分裂的两派——理清Direct3D和OpenGL的脉络

计算机三维图形是指将用数据描述的三维空间通过计算转换成二维图像并显示或打印出来的技术,API(Application Programming Interface)即“应用程序接口”是连接应用程序与操作...
  • pizi0475
  • pizi0475
  • 2010年04月08日 08:46
  • 7581

浅谈 Java 3D、 OPENGL、VRML、DIRECT3D

http://www.blogjava.net/hongjunli/archive/2006/05/04/44542.html 浅谈 Java 3D、 OPENGL、VRML、DIRECT3D ...
  • mmllkkjj
  • mmllkkjj
  • 2011年02月10日 14:22
  • 3172

OpenGL Direct3D(DirectX)区别

1. OpenGl仅仅是个图形图像接口,基本不包括其它多媒体功能, 它的优势是平台无关性。DirectX则是基于Windows的,不能在MAC 和 Linux Solars上使用 。 2. Op...
  • victory_li
  • victory_li
  • 2017年04月11日 15:58
  • 709

Direct3D和openGL故事【转】

自1996年开始,3D API之战延续至今,并随着GPU程序的广泛应用而炮火渐希,淡出争论的焦点。如果非要论个输赢的话,应该是OpenGL绊倒了自己,以致大业未成。而OpenGL ES异军突起,反而要...
  • wag2765
  • wag2765
  • 2016年01月25日 16:25
  • 883

Direct3D好,还是OpenGL好呢?

Q: Direct3D好,还是OpenGL好呢?A: 当你去OPENGL网站问时,肯定说是OPENGL好,如果去D3D网站问时,肯定是说D3D好。其实上,这两个API都是做同样的事情,都是基于同样的硬...
  • caimouse
  • caimouse
  • 2004年09月28日 10:05
  • 4140

DirectX、Direct3D和OpenGL的区别

DirectX,(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口。由C++编程语言实现,遵循COM。     DirectX是由很多API组成的,按照性质分类,可以...
  • sprintwater
  • sprintwater
  • 2012年03月22日 17:11
  • 3542

opengl 和direct3d坐标系的区别

 初学者经常 说,OpenGL用右手坐标系,而D3D用左手;裁剪空间里OpenGL的z是[-1, 1],而D3D是[0, 1];不可调和。实际上,直接把左手的顶点和矩阵给OpenGL也是没有问题...
  • yingyuewuhen1
  • yingyuewuhen1
  • 2015年09月18日 15:00
  • 379

Direct3D与OpenGL

Direct 3D与OpenGL的好坏,完全在于下游厂商的支持。
  • YanJiangbo
  • YanJiangbo
  • 2011年03月12日 09:07
  • 705

学习游戏开发,先学OpenGL再学Direct3D还是直接学习Direct3D?

查看: 11191|回复: 30    学习游戏开发,先学OpenGL再学Direct3D还是直接学习Direct3D? [复制链接]   ...
  • a237653639
  • a237653639
  • 2015年08月24日 17:22
  • 2371

iOS 与 Android 系统十年之战,究竟谁是赢家?

苹果公司刚刚为 iPhone 发布了 iOS 11,而 Google 几周前也更新了 Android O。这两种系统几乎支持全球所有手机,那么,谁才是现阶段的赢家?...
  • Byeweiyang
  • Byeweiyang
  • 2017年06月13日 16:51
  • 13332
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:微软与3D图像 ——OpenGL与Direct3D之战(节选)
举报原因:
原因补充:

(最多只允许输入30个字)