opengl和directx directx 哪个快

博客访问: 335825
博文数量: 424
博客积分: 3000
博客等级: 中校
技术积分: 4826
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
业界对Apple的OpenCL的支持将成为它发展的重要因素,早在90年代中期,微软就曾经努力阻止
OpenGL成为行业的标准,以推行自己的DirectX显卡软件和游戏工具。微软的Direct
X起初的战略是为了推动DOS游戏开发者转向Windows,从此之后它就被绑定在Windows下为PC游戏服务,所以它仅支持Windows。
不断发布新版的DirectX也推动了开发者转向最新版的Windows,比如最新版的DirectX
10就带来了不少Vista专属游戏,从而推动了Vista的销量,然而它并未达到预期的效果,因为Vista的速度阻碍了DirectX10游戏的市
场,开发者只能将目标再次转向XP。OpenGL和AppleOpenGL
的前身是高端图形工作站厂商SGI在80年代所开发的IRIS G,它在90年代初期成为了开源的标准。当时微软在它的Windows
95中发布了Direct3D,将它作为OpenGL的竞争对手。而在90年代末,微软曾经和SGI进行了Fahrenheit项目的开发,试图将两者结
合起来,但是没有成功。之后微软继续开发DirectX并与GPU厂商合作,留下OpenGL任其发展。
OpenGL之后几乎逐渐消失,直到90年代末Apple放弃了自己的QuickDraw 3D,将OpenGL作为Mac OS
X的官方3D库。Apple的系统给OpenGL程序带来了不少拥护者。之后OpenGL正式被Linux采用,现在主流的游戏平台,包括PSP,PS3
和Wii都支持该技术。但是微软的Xbox360例外,它采用了自己的DirectX
图形库,而将OpenGL排除在外。如今OpenGL对DirectX来说比以前更有竞争力了。而微软计划在Windows 7中的DirectX
11增加类似于OpenCL的技术,以实现GPGPU运算。但是Apple的OpenCL能更紧密地与OpenGL代码协同工作,能带来更广泛的支持。
Apple还将OpenCL作为一个免费的,开源的标准,让任何人都能参与到该平台中来。OpenGL和OpenCL设计的相似性,使开发者更易于开发。比如在OpenCL下进行数据虚拟化计算,可以把相同的对象在OpenGL上进行图形渲染。同时OpenGL下的图形渲染可以在OpenCL下进行处理和转换。OpenCL得到了GPU厂商NVIDIA和AMD的支持,同时支持Apple,SONY,任天堂的平台,还支持Linux和Windows,而且任何公司的开发者都可以参与到该技术的发展中来。&
&&支持OpenCL的厂商
阅读(125) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。为什么说开发者应用OpenGL而不是DirectX
发表于 09:24|
来源solidot|
摘要:独立游戏开发商Wolfire在一篇文章中解释了他们 为什么选择OpenGL而不是DirectX开发游戏的原因 。文章认为微软的市场策略让DirectX API几乎变成了游戏开发的代名词,Wolfire认为开发者应选择
独立游戏开发商Wolfire在一篇文章中解释了他们。文章认为微软的市场策略让DirectX API几乎变成了游戏开发的代名词,Wolfire认为开发者应选择OpenGL而不是DirectX。
文章称: 1997年的情况和现在十分类似,微软为Direct3D发动了大规模的市场宣传,很快每个人都想当然的认为DirectX比OpenGL更好更快。这一情况直到(DirectX 前身WinG API项目开发负责人)公布了谴责DirectX公开信后才有所改变。
不久之后John Carmack发表了他著名的OpenGL宣言,并言行一致的让Id Software游戏都在OpenGL中实现,证明DirectX并不是开发高端3D游戏所必要的。这个教训在过去几年似乎被人遗忘了,现在多数游戏开发 商已牢牢被DirectX的营销所掌控,或者陷入了恶性循环。采用DirectX意味着游戏将只能运行在Windows上,这并不是一件好事情,以 Wolfire为例,它的游戏用户中超过半数不是使用Windows操作系统。
推荐阅读相关主题:
网友评论有(0)
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章&主题:现在还有主流软件只支持opengl而不支持directx的吗?
泡网分: 28.623
帖子: 12021
注册: 2006年08月
查了一下autodesk和adobe的软件,差不多都支持directx。看来买显卡是不是geforce就足够好,quadro是实在没必要的?
作者相关热贴:
微信扫一扫分享
&浏览:152&&回帖:7 &&
泡网分: 28.623
帖子: 12021
注册: 2006年08月
sandoo 发表于
专业卡配专业显示器,比如10bit输出等等。
普通显示器就geforce就可以了。10bit输出是不是只有dp支持?
泡网分: 25.121
帖子: 14237
注册: 2009年03月
专业卡配专业显示器,比如10bit输出等等。
普通显示器就geforce就可以了。
本帖由安卓客户端发布
泡网分: 35.776
帖子: 10720
注册: 2005年05月
那是老黄历了,做设计必然quadro,nv架构无论用什么api都一样有效,因为它们都是建立在nv自己的高通用高扩展的硬件单元上。
就像你接显示器用dvi 还是hdmi,没太大区别,用hdmi注意一下rgb范围就行了。
泡网分: 28.623
帖子: 12021
注册: 2006年08月
香烟和火柴 发表于
不是做大型3D何必专业显卡。问题是看autodesk的大型3d软件硬件要求,支持directx就好。
泡网分: 15.307
帖子: 8314
注册: 2012年07月
八大行星 发表于
没错。但总是传说quadro对opengl支持得更全面,性能更好。
...不是做大型3D何必专业显卡。
本帖由 Meizu PRO 5 客户端发布
泡网分: 28.623
帖子: 12021
注册: 2006年08月
香烟和火柴 发表于
Geforce也支持opengl啊没错。但总是传说quadro对opengl支持得更全面,性能更好。
泡网分: 15.307
帖子: 8314
注册: 2012年07月
Geforce也支持opengl啊
本帖由 Meizu PRO 5 客户端发布
&版权所有:&&桂ICP备号&增值电信业务经营许可证想请问大牛们,directx和opengl有什么不同,各有什么优点和缺点?现在做游戏是倾向于directx还是opengl?
回复讨论(解决方案)
都是3DAPI,Windows平台游戏基本都是DirectX。
关于DX和OpenGL的一篇文章:
本系列文章由zhmxy555(毛星云)编写,转载请注明出处。
http://blog.csdn.net/zhmxy555/article/details/7522960
作者:毛星云&&&&邮箱:&&&&&欢迎邮件交流编程心得
作为游戏开发界老生常谈的话题,浅墨认为有必要写这样一篇文章来专门分析一下两者的优劣。这节就是给大家
对DirectX和OpenGL的一个整体的认知,也以至于扩大我们的【C++游戏开发】专栏的适用范围到广义的游戏开发,而不仅
仅局限于Windows游戏开发。毕竟适用于iOS和Android以及WindowsPhone的各种游戏引擎基本上都是采用C++编写的,
希望有幸将我们的C++游戏开发的范畴扩展至iOS、Android以及WindowsPhone平台,为这些热门的移动平台编写出我们自
主开发的游戏引擎,以促进移动游戏开发的进一步发展。
一、体系认知
目前,我们可接触到的图形API可分为OpenGL和DirectX两大体系,前者是一项开放性的标准,主攻专业图形应用和3D游戏,由&OpenGL架构委员会&掌控,其成员包括业内各大厂商,目前主要推动标准发展的实际领导者是3Dlabs。DirectX则是微软制定的API标准,除了图形API功能外,它还包含音频API等功能,只不过其图形部分升级最快、也最为人所知。DirectX针对的主要是娱乐应用,目前流行的DirectX&9&API功能极为强劲,目前市面上的大部分新3D游戏都基于DirectX&9,而图形芯片制造商更是将它作为标准、竞相提供对DirectX&9的支持,是否支持DirectX&9也成为两代显卡的分水岭。
虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角。
日,微软公司正式发布Windows&7,DirectX&11集成在Windows&7&中同步登场,但其实DirectX&11只是DirectX&10的大幅度加强版,而不是9.0C和10.0/10.1的彻底革新。
国内这方面的教材革新比较缓慢,由于DirectX&11与windows&7集成,在2009年同时推出,而导致基于DirectX&11的中文教材与文献非常稀少。
而为了让大家掌握到国际最新的技术,本系列文章后续内容会对目前最新的DirectX&11进行深入讲解,希望有兴趣了解最新技术的朋友们持续关注。
下面我们分别简单概述一下DirectX与OpenGL。
二、&微软的宠儿??DirectX
DirectX是微软公司提出的一种应用程序接口(API),由C++编写,它可让以Windows为平台的游戏或多媒体程序获得更高的执行效率,加强3d图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。
DirectX并不是一个单纯的图形API,它是由微软公司开发的用途广泛的API,它包含有Direct&Graphics(Direct&3D+Direct&Draw)、Direct&Input、Direct&Play、Direct&Sound、Direct&Show、Direct&Setup、Direct&Media&Objects等多个组件,它提供了一整套的多媒体接口方案。只是其在3D图形方面的优秀表现,让它的其它方面显得暗淡无光。
这样说也许大家还是有些不太明白,那我们就从字面意义上来理解吧。Direct英文含义是“直接”的意思,表示直接建立在硬件之上,而后边的X则表示“未知的”,具体代表相关的组件,比如3D、Sound、Music、Input、Play、Show。我们将DirectX中代表泛指的“X”换做一个特指,比如说我们换做”3D”,那么DirectX摇身一变就成了它的一个组件Direct3D
微软比较明智,为众厂家推出了一个共同的应用程序接口??DirectX,并赋予它“硬件设备无关性”的特性。只要这个游戏是依照DirectX来开发的,不管你是什么显卡、声卡、统统都能玩,而且还能发挥更佳的效果。当然,前提是你的显卡、声卡的驱动程序也必须支持DirectX。
这样就很容易理解了,总结起来就是,DirectX的出现就是为各种品牌的硬件提供了一个共同的硬件驱动标准。
三、不甘做备胎??OpenGL
OpenGL定位为专业图形处理,英文全称是&Open&Graphics&Library&,意为&开放的图形程序接口&。OpenGL的历史可以追溯到上个世纪90年代初,标准诞生之后它一直占据主导地位。微软的DirectX出现的时间比OpenGL来得晚,但就在最近数十年,OpenGL因发展迟缓而被DirectX反超。
事情回溯到1999年,OpenGL发生了一次比较失败的变革,导致了之后的危机:
OpenGL的缔造者SGI(Silicon&Graphics硅图)决定与微软联手开发下一代图形接口--Ferihant。Ferihant应用于Windows系统中,作为OpenGL和DirectX的取代者。为此,Ferihant将包含DirectX与OpenGL各自的优点,并加入场景贴图之类的高级功能。由于有了Ferihant,SGI停止了原先的Windows版OpenGL开发计划,外界对此表示赞赏。然而Ferihant计划没进行多久,双方的合作就出现裂痕,微软不积极合作,光想把SGI的图形技术并入DirectX的做法令SGI非常不满,SGI随后宣布中止合作并撤回所有的开发人员,Ferihant遂告夭折。在这之后,OpenGL和DirectX似乎互不相干,继续在PC平台上发展,但状况对比鲜明:DirectX从此突飞猛进,而OpenGL却长期原地徘徊。其间,DirectX&8&API更是正式成为娱乐显卡的标准,id公司所形容的&支离破碎的DirectX&早已非吴下阿蒙,大量的3D游戏转向了DirectX体系。
尽管如此,OpenGL目前仍然是高端图形API的代名词, Khronos&Group在2009年3月又公布了升级版新规范OpenGL&3.1,也是这套跨平台免费API有史以来的第九次更新,它以强劲的功能特性为业界瞩目,而显卡制造商对OpenGL&API的重视程度并未缩减。
Open&GL仍然是唯一能够取代微软对3D图形技术的完全控制的API。它仍然具有一定的生命力,但是Silicon&Graphics已经不再以任何让微软不悦的方式推广Open&GL,因而它存在较高的风险。游戏开发人员是一个有着独立思想的群体,很多重要的开发人员目前仍然在使用Open&GL。因此,硬件开发商正在设法加强对它的支持。Direct3D目前还不能支持高端的图形设备和专业应用;&Open&GL在这些领域占据着统治地位。最后,开放源码社区(尤其是Mesa项目)一直致力于为任何类型的计算机(无论它们是否使用微软的操作系统)提供Open&GL支持。
在可预见的将来,OpenGL仍将是DirectX的宿敌。
四、DirectX与OpenGL的博弈
首先,做一个概念性的总结,DirectX是一个功能强大的统一的API接口,而OpenGL是一个高级图形库。
&1&市场占有率,DirectX的压倒性优势
经常玩电脑游戏的各位都会有这样的一个体会,我们安装一款游戏后,经常会报错缺少某dll而无法进入,但只要我们更新到最新的DirectX运行环境,基本上就可以正常进行游戏了,这是因为市面上绝大多数游戏都是基于DirectX的。对游戏开发了解有限的玩家基本上都会知道DirectX是他们玩游戏必须安装的,但知道OpenGL的却寥寥无几。
毋庸置疑,DirectX占据着游戏市场绝对的优势,据估计目前市面上几乎所有的电脑游戏都是基于DirectX而开发的。《百度今日网游排行榜》上的前五十名,无一例外,全部拜倒在DirectX的石榴裙下。这里我们列举出前十名,他们依次是《地下城与勇士》,《穿越火线》&,《英雄联盟》,《魔兽世界》,《QQ飞车》,《QQ炫舞》,《梦幻西游》《龙之谷》,《倩女幽魂》,《第九大陆》&。(号榜单)
且一款显卡,想要立足于PC市场,首先要做的就是支持DirectX,而支持OpenGL,只是备胎而已。
使用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。
OpenGL跨平台,用于生成二维、三维图像。用来从简单的图元绘制复杂的三维景象。
OpenGL的高效实现(利用了图形加速硬件)存在于Windows,很多UNIX平台和MacOS。
OpenGL常用于CAD、虚拟实境、科学视觉化程式和电子游戏开发。
DirectX、Direct3D仅用于Microsoft&Windows。
OPENGL跨平台,D3D&WINDOWS下支持高,显卡厂商支持高.
除非你要在非windows下开发,一般都使用D3D,学的人多,用的公司多,工作好找,样例资源也多.

我要回帖

更多关于 opengl与directx 的文章

 

随机推荐