Hardware 版 (精华区)
发信人: dht (bbs), 信区: Hardware
标 题: 3D加速卡系列谈(二)
发信站: 紫 丁 香 (Fri Oct 16 18:15:13 1998), 转信
3D加速卡系列谈(二)
陈雷
3D技术术语详解
l、Perspective correct texture mapping(透视纹理贴
图修正):
“透视纹理贴图修正”是3D卡最基本的一项功能,即便再入门级
的芯片组通常也会支援它,Voodoo这样的COOL卡自然就更不在话下。
所谓“透视纹理贴图修正”是用于修正贴图几何透视关系的技术:在
3D物体的几何外形随着视角移动而发生变化的时候,附着在3D骨架上
的各种贴图也会随着一起发生透视关系上的变化。在几何体收敛或发
散的方向,表面贴图也应随之一起产生收敛或发散的效果。由于纹理
贴图都是事先绘制好的位图,所以这种变形的效果完全要依靠硬件实
时演算来完成。处理器根据透视关系的变化,即时生成新角度下的纹
理贴图填充在相应的几何骨架上,产生逼真、准确的透视效果。在显
示过程中,当逻辑层互相重叠的时候,“透视纹理贴图修正”还负责
对已经不在表面的3D模组进行消隐,这相当于一种彻底的收敛,算法
将不再对已经被掩盖起来的物体进行视觉上的处理,从而提高整体程
序的执行效率。“透视纹理贴图修正”是一项非常关键的技术,同时
也是一项最基本的技术,实际上任何一种3D游戏都需要类似的处理,
否则纹理贴图会扭曲的不成样子,但区别就在于不支持3D加速卡的游
戏需要完全依靠CPU来完成工作。从上面的介绍已经不难看出“透视
纹理贴图修正”是一项在逻辑上非常复杂的运算,会消耗掉系统相当
多的资源,大大加重CPU的负担。在一些多边形非常多的游戏中,CPU
自己的“透视纹理贴图修正”根本就跟不上视角变换的速度,比如《
古墓丽影2》就是很好的例子:在屏蔽硬件加速“透视纹理贴图修正”
之后,画面中的地板在视角旋转的时候会扭动的像波浪一样。
2、Bi-linear and advanced texture filtering(双线及
高级纹理过滤)
“双线及高级纹理过滤”也是一项最基本的3D处理技术,它的作用
是消除画面中的马赛克效应,可以大大提高游戏图形的真实感和美观程
度。由于“双线及高级纹理过滤”属于比较奢侈的技术,所以很多普通
3D卡都不支持它,甚至名噪一时的Mystique也没有提供这项功能。即便
是次时代游戏机:世嘉的土星和索尼的Playstation也无法作类似的处
理。经过“双线及先进纹理过滤”的图像,在以任何比例放大的时候都
不会产生马赛克效应。与“透视纹理贴图修正”一样,这项处理也建立
在复杂的数学逻辑算法上:程序首先将贴图中的一个象素X周围的四个
象素同时读入系统,然后对它们的各种特征值进行逻辑运算,求插值,
然后把具有平均值特征的新象素替代X显示在原来的位置上。这样,相
近的象素由于拥有类似的特征值,因而显示的状态也就类似。马赛克的
主要特征就是有突兀的色块的感觉,换句话说就是象素的特征值变化不
连续,而“双线及先进纹理过滤”的算法正好可以消除这个问题。消除
掉马赛克之后的图像,其显示质量呈几何级数上升,同时由于过滤功能
对贴图的精度要求不高,游戏引擎不必再频繁的对纹理贴图进行即时重
绘,因而还可以大大提高程序的执行效能。
3、Level of ditail (LOD) MIP mapping(多精度MIP贴图处理)
“多精度MIP贴图处理”是处理材质贴图的一种方法。顾名思义,此
种算法的核心特征就是提供了各种精度的贴图。在3D物体视觉位置发生
变化的时候,“多精度MIP贴图处理”将调用不同版本的材质,以配合相
应的空间效果,产生更真实的观感。具体的说:在物体位置较近的时候,
程序将调用细致度较高的贴图,以便让玩家可以清楚的感受到物体的材
质;在物体位置较远的时候,程序则会调用精细度比较低的贴图,使人
看上去产生比较模糊的感觉,这样一方面符合了客观的物理规律,一方
面也节省了系统资源。lSub-pixelcorrection(次级象素修正)属于
Voodoo特有的比较高级的3D处理功能之一:用于校正多边形和贴图在
复杂结构中可能出现的错误排列。
4、Polygonal-based Gouraud shading and texture modulation(
基于多边形的高氏渲染和纹理调整)
“高氏渲染”是多边形渲染的方法之一,同时也是在3D游戏设计
中应用最广泛的一种。3D物体通常都由多边形组成,而所谓渲染就是
赋予物体的多边形骨架以一定的颜色和质感。“高氏渲染”为多边形
上的每一个点提供连续的色盘,也就是说渲染时可用的颜色是无限的。
丰富的色彩可以使物体表面呈现出平滑变色的效果,而这恰恰是表现
光源的必备条件。我们在3D游戏中曾经见到过的那些闪亮的金属和弥
散的光影,都是“高氏渲染”处理的杰作。
5、Anti-aliasing(反混淆)
“反混淆”处理的主要作用是消除图像边缘的锯齿,属于Voodoo
等少数高级3D加速卡才有的先进功能:即便在640X480的分辨率下,
因为多边形处理方式本身的局限,物体的轮廓线也会出现非常明显的
锯齿。“反混淆”技术同样是依靠计算图像边缘各点的插值,对锯齿
进行补偿计算,或弥补、或消隐,用新生成的具有混合特征值的点替
换原来轮廓线上的图素,从而达到柔化物体外形,消除边缘锯齿的效
果。
6、Depth buffering(16bit)(深度缓存)
当物体在纵深方向上的物理位置发生变化的时候,视觉效果也会
随之发生变化-近处整个物体的清晰度比较高,远处则显得比较模糊。
这种变化在3D游戏中实际上时刻存在的,你很难找出一件物理位置与
你的观察点始终保持不变的物体,这也就是说,程序时时刻刻都在对
物体的图像进行深度上的视觉上变换。为了提高这种变换的效率,以
便使游戏中的物体在任何时刻都呈现出真实的观感,Voodoo提供了“
深度缓存”以实时加速景深的变换。
7、Alphabl ending(透明混合处理)
所谓“透明混合处理”是用来使物体产生透明感的技术。我们在
许多游戏中都见过透明的效果,比如透过水、玻璃等等物体观察景物
的时候,图像会产生模糊的感觉。但在3D硬件介入之前,用软件实现
的透明处理是非常简单的,所有的物体实际上只有一个透明度,也就
是说不论透过什么物体观察景物效果都是一样的,这显然不真实。但
因为透明处理的运算量非常大,仅仅如此已经使CPU达到了极限的状态,
所以借助3D加速硬件实现“透明混合处理”就显得至关重要。计算机
处理每个象素的色彩时都会赋予它们3个数据组,用来存放红、绿、蓝
的数值,而“透明混合处理”又给象素增添了一个新的数据组,专门
贮存物体的透明度。也就是说,在真正实时的3D场景中,每一个物体
实际上都拥有自己的透明度,不论是金属还是玻璃,它们之间的区别
只是透明度高低而已。前面已经说过,Voodoo带有很强的DSP特征,
它对透明度的处理同样如此,编程者只需指定一个透明值,Voodoo就
可以根据自己已经在内部建立起来的逻辑算法直接得出图像应有的透
明度效果。Voodoo提供的“透明度”总共有256级,完全可以表现出
自然界,人眼可察觉范围内任何的透明效果。
8、Per-pixel sepial effects:fog,tansparency,translucency(
象素级特技:雾化、透明、半透明)
Voodoo为每个象素提供了多级的特征函数,可以使它们表现出“
雾化、透明、半透明”的效果。
9、Texture compositing,morphing,animation(纹理混合、变
形和活动处理)
“纹理混合、变形和活动处理”是非常高级的纹理贴图处理技
术,它的主要作用是将平面的位图,经过各种补偿计算,最后贴制
在立体的几何骨架上。比如我们在NbaLive98中见到的维妙维肖的
人像效果,就是经过这种处理之后而得到的。1每秒至少4500万的
象素填充率640X480分辨率下,电脑每帧画面要处理的象素个数为
640X480=307200,以次计算:45000000象素/307200象素.=143
帧/每秒。虽然这只是一个理论上的数值,具体的速度还要视具体
的游戏来看,但于Voodoo的性能是可见一斑的。l每秒处理100万经
过3D特技处理的三角形,并对其中25万进行高级的纹理映射每秒可
以加速100万多边形的生成和处理,这项指标恰与世嘉的Model3基
板持平。
来源:BBS太阳岛站
--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: cadcam.hit.edu.c]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.767毫秒