简单的来说 Direct3D(D3D)是微软公司在Microsoft Windows操作系统上所开发的一套3D绘图编程接口,是DirectX的一部份,目前广为各家显示卡所支援。与OpenGL同为电脑绘图软体和电脑游戏最常使用的两套绘图编程接口之一。
这个接口的作用其实就是 让游戏进行的时候可以便利的调用硬件资源。如果没有这个接口 那么游戏开发者在写程序的时候就得把所有市面上的硬件的信息全都拿来。然后一一写入程序里该如何调用。那是非常麻烦的,也根本无法做到。因为市面上的硬件太多了。所以directx就是一种让软件设计者可以不需要考虑不同硬件而写程序的一种通用接口。也就是所谓的通用API(应用程序接口)。当大家都按照这个接口来写软件写程序的时候就成为了一种标准。那么硬件只需要支持这种标准就可以被软件所正确调用。也就是可以运行起来。当然这种接口不只有DirectX一种。著名的还有OpenGL。 DirectX是由微软开发的 最早微软也是在OpenGL组织里 但是因为翅膀硬了
和windows巨大成功。微软退出了OpenGL 并且大力推广DirectX 所以目前绝大部分软件和游戏都是按照DirectX标准编写。当然目前的显卡也都支持OpenGL标准。
而游戏里面的D3D 和 OPENGL 就是说 用不同的模式 或者说不同的标准来调用硬件资源。
其实目前大部分新游戏都是 DirectX 模式了 而openGL则主要应用在专业领域。比如3d设计什么的。
不过在老游戏中 比如CS系列里 因为Direct3D的版本很低 效果是不如OpenGL模式的。因为在早期Direct3D还不完善 游戏中的3d渲染调用资源什么的 是不如OpenGL的
OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL。OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL便是“开放的图形程序接口”。虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角。
OpenGL是个与.硬件无关的软件接口,可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植。因此,支持OpenGL的软件具有很好的移植性,可以获得非常广泛的应用。由于OpenGL是3D图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS等3D图形设计软件制作的DFX和3DS模型文件转换成OpenGL的顶点数组。
在OpenGL的基础上还有Open Inventor、Cosmo3D、Optimizer等多种高级图形库,适应不同应用。其中,Open Inventor应用最为广泛。该软件是基于OpenGL面向对象的工具包,提供创建交互式3D图形应用程序的对象和方法,提供了预定义的对象和用于交互的事件处理模块,创建和编辑3D场景的高级应用程序单元,有打印对象和用其它图形格式交换数据的能力。
OpenGL的发展一直处于一种较为迟缓的态势,每次版本的提高新增的技术很少,大多只是对其中部分做出修改和完善。1992年7月,SGI公司发布了OpenGL的1.0版本,随后又与微软公司共同开发了Windows NT版本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型3D图形处理软件也可以在微机上运用。1995年OpenGL的1.1版本面市,该版本比1.0的性能有许多提高,并加入了一些新的功能。其中包括改进打印机支持,在增强元文件中包含OpenGL的调用,顶点数组的新特性,提高顶点位置、法线、颜色、色彩指数、纹理坐标、多边形边缘标识的传输速度,引入了新的纹理特性等等。OpenGL 1.5又新增了“OpenGL Shading Language”,该语言是“OpenGL 2.0”的底核,用于着色对象、顶点着色以及片断着色技术的扩展功能。
OpenGL 2.0标准的主要制订者并非原来的SGI,而是逐渐在ARB中占据主动地位的3Dlabs。2.0版本首先要做的是与旧版本之间的完整兼容性,同时在顶点与像素及内存管理上与DirectX共同合作以维持均势。OpenGL 2.0将由OpenGL 1.3的现有功能加上与之完全兼容的新功能所组成(如图一)。借此可以对在ARB停滞不前时代各家推出的各种纠缠不清的扩展指令集做一次彻底的精简。此外,硬件可编程能力的实现也提供了一个更好的方法以整合现有的扩展指令。
目前,随着DirectX的不断发展和完善,OpenGL的优势逐渐丧失,至今虽然已有3Dlabs提倡开发的2.0版本面世,在其中加入了很多类似于DirectX中可编程单元的设计,但厂商的用户的认知程度并不高,未来的OpenGL发展前景迷茫
d3d
3D加速卡就是硬件,也就是我们常说的显卡。
而操作系统和应用软件通常不能直接去使用显卡和其中的3D加速功能,必须通过系统中的一个接口去调用,这就是OPENGL和D3D的作用了。
OPENGL和D3D对下可以通过显卡驱动程序操作显卡,对上可以为操作系统和各种应用程序提供各种显示用的接口函数和显示功能。
操作系统和应用软件(包括游戏)不需要知道这台电脑用的什么显卡,只需要调用OPENGL或D3D提供的接口函数和功能就能实现显示功能,通过这种分工合作,极大的降低了软件开发周期和成本。比如需要在显示器上画出一个三维的正方体,不需要程序人员针对不同的显卡去写大段的代码,只需要调用OPENGL或D3D的一个函数并把一些相关的参数发给他们,由他们去完成这个事情就可以了。
OPENGL和D3D本质虽然一样,但却是不同的两个标准。
OpenGL是近几年发展起来的一个性能卓越的三维图形标准,它是在SGI等多家世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通用共享的开放式三维图形标准。目前,包括Microsoft、SGI、IBM、DEC、SUN、HP等大公司都采用了OpenGL做为三维图形标准,许多软件厂商也纷纷以OpenGL为基础开发出自己的产品,其中比较著名的产品包括动画制作软件Soft Image和3D Studio MAX、仿真软件Open Inventor、VR软件World Tool Kit、CAM软件ProEngineer、GIS软ARC/INFO等等。
Direct3D (D3D):是微软为提高3D 游戏在Win 95/98中的显示性能而开发的显示程序,目前已经升级到9.0版本,而且支持XP等微软最新的操作系统,它提供了丰富的3D功能库,是游戏广泛采用的标准。
希望采纳
你好楼主
基本上是的了
D3D没有宣染,主要用cpu运行,Opengl有渲染远的东西看不到,画质比较好,但是显卡要求比较高
Photoshop|
Dreamweaver|
SVG|
WebGL|
Visual Studio|
PowerDesigner|
Eclipse|
Git|
Apache Ant|
Atom|
Composer|
CodeSmith|
Flex|
Gradle|
Maven|
Sublime Text3|
SVN|
Tableau|
Vim|
Chrome开发者工具|
OpenGL|
Unity|
Direct3D|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....