|
主题: 3D术语 2
|
jsdj1000
职务:普通成员
等级:1
金币:0.0
发贴:138
|
#12001/6/29 9:19:53
二、3D特性
·Alpha Blending (α混合) 简单地说这是一种让3D物件产生透明感的技术。屏幕上显示的3D物件,每个像素中有红、绿、蓝三组数值。若3D环境中允许像素能拥有一组α值,我们就称它拥有一个α通道。α值的内容,是记载像素的透明度。这样一来使得每一个物件都可以拥有不同的透明程度。比如说,玻璃会拥有很高的透明度,而一块木头可能就没什么透明度可言。α混合这个功能,就是处理两个物件在萤幕画面上叠加的时候,还会将α值列入考虑,使其呈现接近真实物件的效果。
·Fog Effect (雾化效果) 雾化效果是3D的比较常见的特性,在游戏中见到的烟雾、爆炸火焰以及白云等效果都是雾化的结果。它的功能就是制造一块指定的区域笼罩在一股烟雾弥漫之中的效果,这样可以保证远景的真实性,而且也减小了3D图形的渲染工作量。图1是游戏《恐龙猎人》中的一个画面,其雾化效果非常不错。
·Shading(着色处理) 绝大多数的3D物体是由多边形(polygon)所构成的,它们都必须经过某些着色处理的手续,才不会以线结构(wire frame)的面目示人。着色处理分为Flat Shading平面着色、Gouraud Shading 高洛德着色
1.Flat Shading (平面着色):平面着色是最简单也是最快速的着色方法,每个多边形都会被指定一个单一且没有变化的颜色。这种方法虽然会产生出不真实的效果,不过它非常适用于快速成像及其它要求速度重于细致度的场合。
2.Gouraud Shading (高洛德着色): 这种着色的效果要好得多,它可对3D模型各顶点的颜色进行平滑、融合处理,将每个多边形上的每个点赋以一组色调值,同时将多边形着上较为顺滑的渐变色,使其外观具有更强烈的实时感和立体动感,不过其着色速度比平面着色慢得多。
·Mapping(贴图处理) 分为Texture Mapping材质贴图、Mip Mapping Mip贴图、Bump Mapping 凹凸贴图、Video Texture Mapping视频材质贴图。
1.Texture Mapping (材质贴图):是在物体着色方面最引人注意、也是最拟真的方法,同时也多为目前的游戏软件所采用。一张平面图像(可以是数字化图像、小图标或点阵位图)会被贴到多边形上。例如,在赛车游戏的开发上,可用这项技术来绘制轮胎胎面及车体着装。
2.Mip Mapping (Mip贴图):这项材质贴图的技术,是依据不同精度的要求,而使用不同版本的材质图样进行贴图。例如:当物体移近使用者时,程序会在物体表面贴上较精细、清晰度较高的材质图案,于是让物体呈现出更高层、更加真实的效果;而当物体远离使用者时,程序就会贴上较单纯、清晰度较低的材质图样,进而提升图形处理的整体效率。
3.Bump Mapping (凹凸贴图):这是一种在3D场景中模拟粗糙外表面的技术。将深度的变化保存到一张贴图中,然后再对3D模型进行标准的混合贴图处理,即可得到具有凹凸感的表面效果,如图2所示。
4.Video Texture Mapping ( 视频材质贴图):这是目前最好的材质贴图效果。具有此种功能的图形图像加速卡,采用高速的图像处理方式,将一段连续的图像(可能是即时运算或来自一个AVI或MPEC的档案)以材质的方法处理,然后贴到3D物件的表面上去。
·Texture Map Interpolation(材质影像过滤处理) 当材质被贴到屏幕所显示的一个3D模型上时,材质处理器必须决定哪个图素要贴在哪个像素的位置。由于材质是2D图片,而模型是3D物件,所以通常图素的范围与像素范围不会是恰好相同的。此时要解决这个像素的贴图问题,就得用插补处理的方式来解决。而这种处理的方式共分三种:“近邻取样”、“双线过滤”以及“三线过滤”。
1.Nearest Neighbor (近邻取样) 是一种较简单材质影像插补的处理方式。会使用包含像素最多部分的图素来贴图。换句话说就是哪一个图素占到最多的像素,就用那个图素来贴图。这种处理方式因为速度比较快,常被用于早期3D游戏开发,不过材质的品质较差。
2.Bilinear Interpolation (双线过滤) 这是一种较好的材质影像插补的处理方式,会先找出最接近像素的四个图素,然后在它们之间作差补效果,最后产生的结果才会被贴到像素的位置上,这样不会看到“马赛克”现象。这种处理方式较适用于有一定景深的静态影像,不过无法提供最佳品质,也不适用于移动中的物件。在图5中,右边的画面没有采用“双线过滤”,从而出现了比较严重的“马赛克”现象;而左边的画面由于采用了“双线过滤”,图像显得非常“柔和”。
3.Trilinear Interpolation (三线过滤):这是一种更复杂材质影像插补处理方式,会用到相当多的材质影像,而每张的大小恰好会是另一张的四分之一。例如有一张材质影像是512×512个图素,第二张就会是256×256个图素,第三张就会是128×128个图素等等,总之最小的一张是1×1。凭借这些多重解析度的材质影像,当遇到景深极大的场景时(如飞行模拟),就能提供高品质的贴图效果。一个“双线过滤”需要三次混合,而“三线过滤”就得作七次混合处理,所以每个像素就需要多用21/3倍以上的计算时间。还需要两倍大的存储器时钟带宽。但是“三线过滤”可以提供最高的贴图品质,会去除材质的“闪烁”效果。对于需要动态物体或景深很大的场景应用方面而言,只有“三线过滤”才能提供可接受的材质品质。在图6中,右边的画面由于没有采用“三线过滤”,竹帘部分产生了严重的“闪烁”现象;而左边的画面采用了“三线过滤”,竹帘细节部分非常清晰。
.Perspective Correction (透视角修正处理) 它是采用数学运算的方式,以确保贴在物件上的部分影像图,会向透视的消失方向贴出正确的收敛。在图3中,当图形画面向前倾斜时,左边的画面由于采用了“透视角修正”技术,画面上的直线保持真实的透视效果;而右边的画面没有采用“透视角修正”技术,因而画面上的直线出现了失真。
·Anti-aliasing (反锯齿处理) 简单地说主要是应用调色技术将图形边缘的“锯齿”缓和,边缘更平滑。反锯齿是相对来来说较复杂的技术,一直是高档加速卡的一个主要特征。目前的3D加速卡大多不支持反锯齿,但在下一代3D加速卡如RIVA TNT、G200中将支持这项技术。
·Z Buffer (Z 缓存) Z-buffering是在为物件进行着色时,执行“隐藏面消除”工作的一项技术,所以隐藏物件背后的部分就不会被显示出来。 在3D环境中每个像素中会利用一组数据资料来定义像素在显示时的纵深度(即Z轴座标值)。Z Buffer所用的位数越高,则代表该显示卡所提供的物件纵深感也越精确。目前的3D加速卡一般都可支持16位的Z Buffer,新推出的一些高级的卡已经可支持到32位的Z Buffer。对一个含有很多物体连接的较复杂3D模型而言,能拥有较多的位数来表现深度感是相当重要的事情。
·Double Buffering (双重缓冲区处理) 绝大多数可支持OpenGl的3D加速卡都会提供两组图形画面信息。这两组图形画面信息通常被看着“前台缓存”和“后台缓存”。显示卡用“前台缓存”存放正在显示的这格画面,而同时下一格画面已经在“后台缓存”待命。然后显示卡会将两个缓存互换,“后台缓存”的画面会显示出来,且同时再于“前台缓存”中画好下一格待命,如此形成一种互补的工作方式不断地进行,以很快的速度对画面的改变做出反应。
|
老张
职务:普通成员
等级:5
金币:10.0
发贴:2796
|
#22001/6/29 16:54:27
资料是有价值的,但是放在这里会吓死人的,特别是初学者。
|
jennie_5d
职务:普通成员
等级:1
金币:0.0
发贴:13
|
#32001/7/3 23:28:43
不管是初学者还是高手中的高手,知道这些知识是有必要的。可以看的出来热心人还是有的。我支持那些勇于发出自己所有的一些好资料的同仁们。
|
村长
职务:普通成员
等级:3
金币:1.0
发贴:759
|
#42001/7/11 9:16:31
非常好!特别感谢
|