你们多知道左右就确定要与显卡打交道.两大图形图像IPA.OpenGL(图形),DX(图形,声音,键盘控制,网络)程序员
OpenGL的兴起可能取决于苹果公司的适用,吸引看大部分开发者适用,它有跨平台的有点.可是在windows和Xbox360上的效果不如DX;windows
做者:村之姑
连接:https://www.zhihu.com/question/23241456/answer/24033635
来源:知乎
著做权归做者全部,转载请联系做者得到受权。
事实上在早年OpenGL即便在游戏领域也是对DirectX压倒性的优点。John Carmack曾嘲讽DirectX是“horribly broken” 的API。
直到DirectX6时代OpenGL都被认为是比DirectX更加优秀的API,即便那个时候DirectX已经有《CS》《极品飞车5》等大做的支持,却依然不受当时FPS游戏霸主id Software的待见。做为那个时代的显卡杀手,《Quake III》都仅仅只支持OpenGL。
DirectX7发布以后DirectX和OpenGL开始逐渐分庭抗礼。直到2000年DirectX8的发布才使DirectX在游戏领域彻底确立了本身的优点 —— 支持革命性的programmable GPU rendering pipeline来代替原有的fixed function pipeline,引入了Vertex Shader和Pixel Shader。而OpenGL的核心正式支持programmable rendering pipeline已是四年以后OpenGL 2.0发布的时候了。想一想这中间会有多少游戏公司/游戏引擎公司会倒向DirectX吧。
说到OpenGL衰落的缘由,不得不提到OpenGL开发的机制。OpenGL早期一直是由ARB (
OpenGL Architecture Review Board,成员包括Nvidia, ATI, Intel, Apple, IBM, SGI等等)成员共同维护。每一个成员能够为了支持本身硬件新的feature来开发OpenGL enxtension, 全部成员一致经过的extension才能加入到下个版本OpenGL核心中。这就形成了不一样成员为了各自利益互相斗争,拖慢了开发进度。微软曾经也是ARB的成员之一,后来由于受不了这种机制退出专心搞本身的DirectX去了。
若是一个API越流行,那么去学习这个API的人就会越多,游戏公司会越容易招到掌握这个API的图形程序员,也就会更多的基于这个API开发游戏。用这个API的游戏愈来愈多,就会更多的获得
硬件厂商的支持,为面向这个API的驱动作更多的优化,而后这个API就会更加流行。如此进入一个良性循环,这就形成了DirectX如今称霸游戏领域,OpenGL几乎绝迹的局面。
在06年从ARB交由Khronos Group掌管以后, OpenGL最近几年也迎头遇上,从性能,易用性来讲其实和DirectX已经相差不大。可是在相比DirectX没有突出优势的状况下(除了跨平台),已经习惯使用DirectX的游戏厂商也不可能从新投出OpenGL的怀抱。
最后一点,OpenGL只是一个单纯的图形库,而DirectX是包含图形(Direct3D), 声音(DirectSound), 输入(DirectInput), 网络(DirectPlay)的一整套游戏开发解决方案。对开发者来讲使用DirectX显然要方便的多。
总而言之跨平台用OpenGL,windows游戏用DX