Graphics 版 (精华区)

发信人: liangqun (梁上君子), 信区: Graphics
标  题: 3D的奥秘(1) 
发信站: 紫 丁 香 (Wed Jun 16 08:47:08 1999), 转信

作者:Prin&Lanerss

  随着3D技术的发展和普及,越来越多的电脑爱好者和游戏迷们开
始关注它的真正奥秘。本文将对3D技术作一个简要的分析。

  (一)目前流行的3D技术
  这里我们所谈的3D技术是特指在PC上广泛使用的即时3D运算技术
。3D技术给人们的是一个更为灿烂广阔的三维空间,世界上有很多公
司曾经或正在为3D技术的发展做出了不懈的努力。
  
  没有规矩不成方圆,任何技术都要有个规范。目前在PC上较流行
的3D运算标准主要有OpenGL、Glide和Direct3D。
  
  OpenGL是一个主要适用于专业图像要求的规范,本身就源于SGI
的图形工作站。应用面相对较小,这里也就不多提了。
  
  Glide是由3Dfx公司开发专为VooDoo系列3D加速卡而设计的,没
有其它显示卡支持此标准。Glide由于功能比较单一,应用几乎全在
游戏方面。
                                              
  Direct3D是微软公司DirectX SDK集成开发包中的重要部分,适
合多媒体、娱乐、即时3D动画等广泛和实用的3D图形计算。Direct3D
以其良好的硬件兼容性和友好的编程方式很快得到了广泛的认可。现
在几乎所有的具有3D图形加速的主流显示卡都对Direct3D提供良好的
支持(包括VooDoo系列)。现在的3D游戏大多基于DirectX SDK开发,
所以都以Direct3D作为标准的3D游戏引擎。在时间允许的情况下也为
Glide进行一下优化。但是目前在多媒体软件方面采用即时3D动画的
还相对较少。其实Direct3D的使用价值决不应只在游戏方面。采用
Direct3D技术的即时3D动画能在多媒体演示等许多领域发挥出令人叹
服的效果。
  
  微软一向将技术的改进放在首位,在DirectX6中Direct3D进行了
全面的改进。最新的Direct3D Immediate Mode的3D效果已全面超过
了Glide,而DirectX7即将发布,DirectX8正在制作当中。DirectX的
最大优势就在于最佳的兼容性、全开放和快速发展,而这也正是PC的
优势。
  
  (二)Direct 3D的一些常用功能和用途

  作为一个3D运算标准,一是速度二是质量。目前的Direct3D运算
主要依靠3D图形加速显示卡与CPU的配合工作。一张好的3D加速显卡
除了应提供Direct3D超过软件方式十倍以上的加速功能外,还应提供 
良好的图像过滤质量和全面的3D特性。很多测试软件都提供了3D性能
的全面测试,但方式不同常常让人摸不着头脑。下面简单介绍一些
Direct3D的工作方式和常用功能(指在DirectX6中)并使用共享软件
〈See3D〉体验一下实际的效果:

  众所周知,3D场景中的所有物体都是由多边形构成,组成物体的
多边形越多物体看上去就越精细但是CPU的处理负担也越重。现在带
有3D加速的显示卡大多有辅助CPU处理多边形的能力,但是CPU的浮点
运算仍然对多边形处理能力起着至关重要的作用。一般来说PentiumII
300(赛扬300A)的浮点运算已能够满足大多数多边形运算的需要。
但要注意处理多边形只是3D场景处理的第一步,此时能得到的还只是
没有颜色的物体造型框架。
  
  将多边形的各条边填充上封闭的面(face)才能得到3维实体。
  
  目前的3D应用中大多采用gouraud方式使物体的各个face之间产
生平滑的过渡,gouraud是可以由显示卡完成硬件加速的。现在的3D
加速卡不可能没这功能,而且使用时速度都不会受影响。为了提高物
体的质感,还可以加上一个高光和过渡阴影,这两个功能对于现在的
显示卡也不稀罕。
  
  虽然得到了光滑的3D物体,但是要表现带有真实感的细腻物体这   
还远远不够。为了让3D物体的外观能有更细致的表现而又不增加过多
的face,就要采用纹理贴图映射。它是在多边形交错顶点设定贴图坐
标,然后将2D图像依据贴图坐标来定位映射到3D物体的各个face上。
这样就得到了一个比较理想的3D物体效果了。
  (未完待续) (飞翔鸟硬件资讯提供)     

--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: dip6.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.667毫秒