本站首页
C P U 内存故障 硬盘专栏 电源故障 主板故障 声卡显卡 光储设备 网络设备 笔 记 本 显 示 器 鼠标键盘
您的位置:-> 软件基础
3d程序接口——3DAPI
相关:
作者: 来源: 时间:10月20日 08:35 提交:访问:
点击进入搜索>>>3d程序接口——3DAPI

免费提供大量有实用价值的电脑维修技巧,技术资料以及技术咨询和解答疑难

   现在流行的标准3D API主要有三种:微软的Direct 3D,主要用于游戏设计;SGI的OpenGL,主要针对专业领域的CAD/CAM设计,近年来也应用于游戏开发;Autodesk公司的Heidi,用于全方位的CAD/CAM/CAE设计。
  1、 Direct 3D(D3D)
  Direct3D是Microsoft于1996年发布的三维API,在Direct X中共分七个部分: DirectDraw用于显示内存的管理,主要针对2D绘图、Direct3D用于对3D图形加速设备进行统一管理,DirectPlay 管理游戏的网络通讯、DirectSound 用于对声音设备的统一管理,DirectInput用于对不同的连线设备提供支持,DirectMusic用于对MIDI等电子音频管理,DirectSetup 负责安装所有的Direct X组件。
  Direct3D为程序员提供了一个显示三维图形的与硬件无关的应用编程接口。Direct3D能支持跨平台操作,能对Windows 95 , Windows NT , Power Mac等提供支持。
  DirectX共有1.0—8.0版本,在DirectX 1.0中不包括Direct3D,因此只能对2D处理进行加速,不支持3D功能。DirectX 2.0中开始加入DirectX 3D,虽仅支持“平滑模拟和RGB模拟”两种工作方式,但已经达到不错的3D图形加速效果。DirectX 3.0在图形处理方面和DirectX 2.0相差不大。DirectX 5.0对D3D的内容作了重大修改,在接口性能和易用性方面有了很大的改善。DirectX 6.0是微软针对DirectX 5.0的缺点和S3、NVIDIA、AMD等公司合作的结果,它将很多专利技术引入到其程序接口中,成为目前最复杂、最全面的3D API之一。DirectX 7.0在D3D中最大的改进是允许加速卡完成原来由CPU独立完成的光源计算,在解放CPU的同时,使3D软件可以使用更丰富、更逼真的光源效果。DirectX 8.0将由微软和SGI合作开发,其中会纳入很多面向高端图形设计的功能。D3D由几何加速、光效计算、贴图处理等若干程序部件组成。目前的游戏程序通常仅使用其像素渲染方面的功能,而几何建模和光源处理等方面仍然由CPU的浮点运算器处理。随着GeForce256等具有硬件T&L功能的3D加速芯片的推出,将来的游戏将会大量使用D3D的几何加速、光效处理等功能。
  2、 SGI的OpenGL
  OpenGL的前身是SGI公司开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL。
  1992年,SGI公司发布了OpenGL的1.0版本,随后又与微软共同开发了Windows NT版本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型3D图形处理软件,也可以在微机上运用。
  1995年OpenGL的1.1版本面市,该版本比1.0的性能有许多提高。
  1997年,微软公司最终在Windows95的OSR2版和后来的Windows 98中加入了对OpenGL的支持。这样,不但许多支持OpenGL的电脑3D游戏得到广泛应用,而且许多在Windows95平台上运行的3D图形设计软件也可以运用支持OpenGL标准的3D加速卡,大大提高其3D图形的处理速度。
  OpenGL具有两个主要的特点:
  ⑴.它是与硬件无关的软件接口,可以在不同的平台之间进行移植。因此,支持OpenGL的软件具有很好的移植性。
  ⑵.可以在客户机/服务器系统中工作,这一点对于制作大型3D图形、动画非常有用。例如,《玩具总动员》等电影的电脑特技画面就是通过应用OpenGL的网络功能,使用120多台图形工作站共同工作来完成的。
  与QD3D和Direct3D相比,OpenGL不是一个高级的应用程序接口。它的目标是绘制对象,而像对象编辑和文件I/O等高级任务则由应用程序来做。随着DirectX6.0的推出,D3D不如OpenGL已经是旧话,两者的性能差距已经是微乎其微。究竟谁能在以后获得更广泛的支持,还要拭目以待。不过无论如何,游戏处理对于OpenGL来说只能是“旁门左道”,它在专业3D设计领域的应用才是最佳的价值体现。
  3、 Autodesk的Heidi(QuickDraw 3D)
  Heidi采用纯粹的立即模式接口,能够直接对图形硬件进行控制,它对硬件的要求比较专业。Heidi可以调用所有显示卡的硬件加速功能,包括2D和视频处理。因此在CAD/CAM的应用方面,Heidi比OpenGL适应范围更广。Heidi不适合实时处理,因此不适合在游戏程序中应用。但我们在3D游戏中看到的大部分3D物体的原始模型都是通过使用Heidi接口的程序绘制而成的。
  除了以上三种标准的3D API外,几乎所有的早期3D加速芯片都有自己的专用3D API,其中比较有名的是3dfx Voodoo系列的Glide和NEC PowerVR系列的SGL。
  4、 Glide
  这个Voodoo专用的3D API实际是PC游戏领域的第一个得到广泛应用的程序接口。它可以使Voodoo的性能得到充分的发挥,Voodoo芯片在同一游戏使用Glide接口时通常比D3D版本快10%—20%,同时画面质量也更好。
  Glide的最大特点在于其出色的易用性和稳定性。很多开发人员多乐于在Glide界面下开发程序。Glide目前分为两种序列:2.xx和3.xx,前者主要用于Voodoo和Voodoo Rush,后者主要用于Voodoo2和Voodoo Banshee。
  由于当时Voodoo芯片的市场占有率相当高,在Voodoo2推出前前Voodoo的市场占有率高达85%,因此在很长一段时间内,Glide在市场上占居了重要地位。后来随着D3D和OpenGL的兴起,才逐渐失去了原有地位。
  5、 PowerSGL
  SGL是NEC PowerVR系列芯片的专用程序接口。在标准接口还没有出现的阶段,可以和Voodoo抗衡的3D芯片只有PowerVR PCX2一种,因此SGL也有一定的影响力,但它与Glide相比还是有一定差距的。

3d程序接口——3DAPI


(上海电脑维修61121021)(上海电脑医院导航)(上海电脑租赁)(上海电脑回收)(上海企业网络布线)(上海企业电脑维护)
免费提供大量有实用价值的电脑维修技巧,技术资料以及技术咨询和解答疑难

中国电脑维修网 www.cnfix.org