代码改变世界

三维设计专用技术名词解释

2010-02-07 08:31  宝宝合凤凰  阅读(643)  评论(0编辑  收藏  举报
这篇文章对于shader的理解有所帮助。

Mapping(贴图处理)

  Texture Mapping (纹理贴图)
  在物体着色方面最引人注意、也是最拟真的方法,同时也多为目前的游戏软件所采用。一张平面图像(可以是数字化图像、小图标或点阵位图)会被贴到多边形上。例如,在赛车游戏的开发上,可用这项技术来绘制轮胎胎面及车体着装。

  Mip Mapping (Mip贴图)
  这项材质贴图的技术,是依据不同精度的要求,而使用不同版本的材质图样进行贴图。例如:当物体移近使用者时,程序会在物体表面贴上较精细、清晰度较高的材质图案,于是让物体呈现出更高层、更加真实的效果;而当物体远离使用者时,程序就会贴上较单纯、清晰度较低的材质图样,进而提升图形处理的整体效率。LOD(细节水平)是协调纹理像素和实际像素之间关系的一个标准。一般用于中、低档显卡中。


  Bump Mapping (凹凸贴图)
  这是一种在3D场景中模拟粗糙外表面的技术。将深度的变化保存到一张贴图中,然后再对3D模型进行标准的混合贴图处理,即可得到具有凹凸感的表面效果。一般这种特效只有高档显示卡支持。(注:GeForce256支持的只是显示和演算该效果,不是生成特效)

  Video Texture Mapping ( 视频材质贴图)
  这是目前最好的材质贴图效果。具有此种功能的图形图像加速卡,采用高速的图像处理方式,将一段连续的图像(可能是即时运算或来自一个AVI或MPEG的档案)以材质的方法处理,然后贴到3D物件的表面上去。

  Texture Map Interpolation (材质影像过滤处理)
  当材质被贴到屏幕所显示的一个3D模型上时,材质处理器必须决定哪个图素要贴在哪个像素的位置。由于材质是2D图片,而模型是3D物件,所以通常图素的范围与像素范围不会是恰好相同的。此时要解决这个像素的贴图问题,就得用插补处理的方式来解决。
  这种处理的方式共分三种:“近邻取样”、“双线过滤”、“三线过滤”以及“各向异性过滤”。

  1.Nearest Neighbor (近邻取样)
  又被称为Point sampling(点取样),是一种较简单材质影像插补的处理方式。会使用包含像素最多部分的图素来贴图。换句话说就是哪一个图素占到最多的像素,就用那个图素来贴图。这种处理方式因为速度比较快,常被用于早期3D游戏开发,不过材质的品质较差。

  2.Bilinear Interpolation (双线过滤)
  这是一种较好的材质影像插补的处理方式,会先找出最接近像素的四个图素,然后在它们之间作差补效果,最后产生的结果才会被贴到像素的位置上,这样不会看到“马赛克”现象。这种处理方式较适用于有一定景深的静态影像,不过无法提供最佳品质。其最大问题在于,当三维物体变得非常小时,一种被称为Depth Aliasing artifacts(深度赝样锯齿),也不适用于移动中的物件。

  3.Trilinear Interpolation (三线过滤)
  这是一种更复杂材质影像插补处理方式,会用到相当多的材质影像,而每张的大小恰好会是另一张的四分之一。例如有一张材质影像是512×512个图素,第二张就会是256×256 个图素,第三张就会是128×128个图素等等,总之最小的一张是1×1。凭借这些多重解析度的材质影像,当遇到景深极大的场景时(如飞行模拟),就能提供高品质的贴图效果。一个“双线过滤”需要三次混合,而“三线过滤”就得作七次混合处理,所以每个像素就需要多用21/3倍以上的计算时间。还需要两倍大的存储器时钟带宽。但是“三线过滤”可以提供最高的贴图品质,会去除材质的“闪烁”效果。对于需要动态物体或景深很大的场景应用方面而言,只有“三线过滤”才能提供可接受的材质品质。

  4.Anisotropic Interpolation (各向异性过滤)
  它在取样时候,会取8个甚至更多的像素来加以处理,所得到的质量最好。

  Shading(着色处理)

  绝大多数的3D物体是由多边形(polygon)所构成的,它们都必须经过某些着色处理的手续,才不会以线结构(wire frame)的方式显示。这些着色处理方式有差到好,依次主要分为Flat Shading、Gouraud Shading 、Phone Shading、Scanline Renderer、Ray-Traced 。

  Flat Shading (平面着色)
  也叫做“恒量着色”,平面着色是最简单也是最快速的着色方法,每个多边形都会被指定一个单一且没有变化的颜色。这种方法虽然会产生出不真实的效果,不过它非常适用于快速成像及其它要求速度重于细致度的场合,如:生成预览动画。

  Gouraud Shading (高洛德着色/高氏着色)
  这种着色的效果要好得多,也是在游戏中使用最广泛的一种着色方式。它可对3D模型各顶点的颜色进行平滑、融合处理,将每个多边形上的每个点赋以一组色调值,同时将多边形着上较为顺滑的渐变色,使其外观具有更强烈的实时感和立体动感,不过其着色速度比平面着色慢得多。

  Phone Shading (补色着色)
  首先,找出每个多边形顶点,然后根据内插值的方法,算出顶点间算连线上像素的光影值,接着再次运用线性的插值处理,算出其他所有像素高氏着色在取样计算时,只顾及每个多边形顶点的光影效果,而补色着色却会把所有的点都计算进去。

  Scanline Renderer (扫描线着色)
  这是3DS MAX的默认渲染方式,它是一种基于一组连续水平线的着色方式,由于它渲染速度较快,一般被使用在预览场景中。

  Ray-Traced (光线跟踪着色)
  光线跟踪是真实按照物理照射光线的入射路径投射在物体上,最终反射回摄象机所得到每一个象素的真实值的着色算法,由于它计算精确,所得到的图象效果优质,因此制作CG一定要使用该选项。

  Radiosity (辐射着色)
  这是一种类似光线跟踪的特效。它通过制定在场景中光线的来源并且根据物体的位置和反射情况来计算从观察者到光源的整个路径上的光影效果。在这条线路上,光线受到不同物体的相互影响,如:反射、吸收、折射等情况都被计算在内。