而已。
使用DirectX是因为API的选择是基于游戏开发的积极反馈,这一切都发生在2005年:
如果一个API越流行,那就有越多人用,然后它就会更流行,如此循环。。。这种网络效应带来的结果就是:更流行的API获得更好的硬件厂商支持,图形程序员随后更意于选择他们已经熟知的API。
DirectX的胜出得益于微软的两次十分尖锐的战役,围绕XBox360和windows vista,当然DirectX的胜出原因也包括着围绕着OpenGL的开源项目的固步自封,以及微软围绕DirectX进行的夸大宣传攻势。
<2>OpenGL的现状,一半明媚一半忧伤
虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角。
OpenGL仍然是唯一能够取代微软对3D图形技术的完全控制的API。它仍然具有一定的生命力,但是Silicon Graphics已经不再以任何让微软不悦的方式推广Open GL,因而它存在较高的风险。游戏开发人员是一个有着独立思想的群体,很多重要的开发人员目前仍然在使用Open GL。因此,硬件开发商正在设法加强对它的支持。Direct3D目前还不能支持高端的图形设备和专业应用; Open GL在这些领域占据着统治地位。最后,开放源码社区(尤其是Mesa项目)一直致力于为任何类型的计算机(无论它们是否使用微软的操作系统)提供Open GL支持。
<3>跨平台,OpenGL优势之所
关于跨平台,这是OpenGL对比DirectX绝对的优势。
DirectX仅能用于Windows系列平台,包括Windows Phone/Windows Mobile/Windows CE系列以及XBOX/XBOX360。
而OpenGL除了可以支持DirectX所适用的平台外,可以支持Unix、Linux、MacOS、Android、iOS等。
值得一提的是,由于最近几年移动开发市场的迅猛发展,Android和iOS需要一款的专业的图形库,跨平台的OpenGL无疑是最好的选择。
<4>全能性,DirectX优点明显
DirectX 包含图形, 声音, 输入, 网络等模块,包含开发一款游戏所需的全部工具,全能性明显。
OpenGL 只是图形函数库。只能用于图形处理,用于开发游戏时,输入,声音,网络等方面还需配合其他函数库。比如声音方面我们就经常配合采用OpenAL。
五、结语
介绍得这么多了,大家应该有一个整体的认知了,这里我们做一个总结。
如果你想进行PC,Windows Phone以及XBOX/XBOX360相关的开发(不仅仅局限于游戏开发),选择DirectX。
如果你想进行Android、iOS、MacOS 、Linux等平台的游戏开发或相关专业图形开发,或者喜欢跨平台的特性,选择OpenGL。
作者:zhmxy555