与其他主流三维技术的比较
OpenGL作为SGI公司推出的专业图形加速卡的图形软件应用程序接口,允许程序员对2D和3D几何形体进行描述并绘制到帧缓存。它的工作方式就如同一个状态机,可以通过各种状态和模式设置控制绘制过程,达到绘制要求。实际上,OpenGL已经成为首选的2D和3D开发环境。它是低层的API,具有与硬件无关的特征,因而具有很强的可移植性。厂商只要提供OpenGL扩展,就可以轻松实现硬件特有的功能。利用OpenGL扩展OpenGL实现者也可以添加新的处理算法。
1995年至1996年,微软计划支持在Windows95上运行游戏,并把目标定为把市场扩展到被任天堂和世嘉控制的游戏领域。但是此时的微软并不打算使用已经在NT上提供的OpenGL技术而是收购了Rendermorphics,Ltd.并得到他的被称作RealityLab的3D API。经重新整理,微软发布了新的3D API--Direct3D。之后的一段时间,尽管D3D有很多问题而且不能像OpenGL那样被硬件厂商扩展,但是微软仍大力推行Direct3D并开始无限冻结OpenGL。Silicon Graphics和很多OpenGL用户都依赖OpenGL创新且高性能的技术,Silicon Graphics通过在1996年举行的SIGGRAPH会议上的一次演示证明了OpenGL至少和D3D一样快,从而有力驳倒了微软的市场论调。因为OpenGL是业界公认标准,比D3D功能丰富,而且图像质量要高一些,所以此次演示在计算机图形和游戏开发界引发了激烈的讨论。
Doom的开发者John Carmack首先声明拒绝D3D,紧接着Chris Hecker在游戏开发杂志上发表了两套API的全面分析,并得出微软应放弃D3D的结论。游戏开发者先后两次向微软递交请愿书。第一次由56名首席游戏开发者要求微软发行OpenGL MCD驱动,但未成功,因为会让OpenGL与D3D竞争。第二次的公开信由254人签名开始,截止时达到1400人。微软的回答仍是重申旧市场立场。尽管请愿者清楚的要求两套API同等竞争以促进发展,微软却以增加D3D的投资、更加减少OpenGL的投资为回应。
Silicon Graphics,Microsoft, HP,Intel达成协议联合开发下一代3D API--Fahrenheit。但不了了之,因为微软的打算是把OpenGL的技术用到D3D里并且以此之名驱除OpenGL的威胁(DirectX 8 Graphics即从技术上吸收了OpenGL的很多东西)。到目前为止,OpenGL依然是唯一能与微软单独控制的D3D对立的API,尽管Silicon Graphics不再以任何微软不能接受的方式推行OpenGL。游戏开发这是独立的,并且很多关键人物在用OpenGL,因此,硬件厂商正努力提高对其支持。D3D仍不能支持高端图像和专业应用,表面上好像D3D比OpenGL支持更多的功能,其实由于D3D不支持硬件扩展,如硬件全景阴影,硬件渲染顺序无关半透明材质等新技术根本无法使用,而D3D(特指D3D8)本身提供的功能只有一小部分能在使用HAL且硬件不支持时模拟,因此需要使用大量的代码分析硬件能力并采取不同策略。以上种种使得OpenGL依旧主宰着这片土地。
查看本文来源