DirectX和OpenGL

1,DirectX

     DirectX是由微软公司创建的一系列专为多媒体以及游戏开发的应用程序接口。旗下包含了 Direct3D、Direct2D、DirectCompute 等等多个不同用途的子部分,因为这一系列 API 皆以 Direct 字样开头,所以 DirectX (只要把 X 字母替换为任何一个特定 API 的名字) 就成为了这一巨大的 API 系列的统称。目前最新版本为 DirectX 11.2 ,随附于 Windows 8.1、Windows RT 8.1、Windows Server 2012 R2 操作系统之上。

    微软意识到游戏会使用户对操作系统产生很大粘性,在1995年,开始创建了一套专用库以鼓励开发Window95平台游戏。这些库包括Direct3D,DirectInput和DirectSound,整个集合就是DirectX。大多数PC游戏都是用DirectX,大多数运行在Windows或者Xbox360上。得益于微软对DirectX的宣传,OpenGl开源项目面临的FUD(恐惧、不确定、怀疑),特别是围绕XBox360和Windows Vista的两次战役。导致越来越多的人使用DirectX,同样,使用DirectX越来越多也导致了更多人来用DirectX。同时,厂商对Direct支持越来越好。


2,OpenGL

    OpenGL 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL。OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL便是“开放的图形程序接口”。虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角。OpenGL仍然是唯一能够取代微软对3D图形技术的完全控制的API。

    Silicon Graphics和很多OpenGL用户都依赖OpenGL创新且高性能的技术。但很明显微软打算用Direct3D代替OpenGL,尽管D3D有很多问题而且不能像OpenGL那样被硬件厂商扩展。Silicon Graphics决定在1996 SIGGRAPH会议上作一项演示。演示证明OpenGL至少和D3D一样快,从而驳倒微软的市场论调。因为OpenGL是业界公认标准,比D3D功能丰富,而且图像质量要高一些,所以演示在计算机图形和游戏开发社区导致了激烈论战。

3,OpenGL VS DirectX

    OpenGL具有比DirectX更快的draw调用,并且能够通过扩展第一时间使用GPU的新特性。OpenGL让你直接访问显卡硬件。DirectX 11的Tesselation技术三年前在OpenGL上就已实现。

    OpenGL是跨平台的。让运行的程序依靠于未知的平台,总是不可靠的。DirectX 只能运行于Windows提供的平台之上,而OpenGL几乎无处不在。

    OpenGL为微软所攻击,其实,Chirs Hecker发表的open letter denouncing DirectX,卡马克发布著名的OpenGL rant,并掏出大把钱用OpenGL开发Id工作室的项目,一度证明DirectX不能达到OpenGL的3D性能。


你可能感兴趣的:(DirectX和OpenGL)