收藏 分享(赏)

纹理过滤.ppt

上传人:tkhy51908 文档编号:8592055 上传时间:2019-07-04 格式:PPT 页数:32 大小:1.15MB
下载 相关 举报
纹理过滤.ppt_第1页
第1页 / 共32页
纹理过滤.ppt_第2页
第2页 / 共32页
纹理过滤.ppt_第3页
第3页 / 共32页
纹理过滤.ppt_第4页
第4页 / 共32页
纹理过滤.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、纹理过滤,MIP-MAP,计算机应用 朱元伟 2110912097,索引,纹理映射中的走样什么样 为什么会产生走样 如何通过纹理过滤提高效果,纹理映射中的走样,无反走样,四方形先缩小又增大,正弦滤波器,走样的产生,进行纹理过滤时,正在使用的纹理通常也正在被进行放大或缩小。换句话说,这个纹理将被映射到一个比它大或小的图元的图象上。纹理的放大会导致许多像素被映射到同一个纹理像素上。那么结果看起来就会使矮矮胖胖的。纹理的缩小会导致一个像素被映射到许多纹理像素上。其结果将会变得模糊或发生变化。 另外将一张黑白的世界象棋图映射到物体表面, 当物体表面小到接近单位像素时, 表面只能显示黑色或白色, 当物体

2、位移或旋转时, 会出现黑白闪烁现象要解决这些问题,我们可以将一些纹理像素颜色融合到一个像素颜色上。,双线性过滤,这是未采用双线性过滤的效果,可以看见很明显的马赛克现象。,这是采用了双线性过滤 后的效果,马赛克没有了。,其工作原理是将一个像素分成2X2的纹理元素区域块这样我们就拥有A、B、C、D 4个纹理元素区域了,然后以目标纹理的像素点为中心,对该点附近的这个4个像素颜色值求平均值。 再将这个平均颜色值贴至目标图像素的位置上。双线性过滤的优点是运算量少,效果也很不错.,上图中显示出一条直路你可以看到左边的斜线标志在某个距离外,会出现一些环状失真的现象,解决,图中铁丝网应该是均匀的,但在这里成了

3、不均匀的分布,在移动的时候,这些地方就会感到有闪烁。注意图中箭头所指之处。,这是应用了mipmap后的效果,双线性过滤是最基本的3D纹理过滤技术,通过使用双线性过滤,不同像素间的过渡会变得比较圆滑,不过经过双线性处理后的图像会显得有些模糊,比较适用于有一定景深的静态影像,不适合非常小的三维物体,也不适用于移动中的物件。因为会产生如条纹和纹理变形等,当视角发生变化时,就可能感觉到闪烁感等的问题。,MIP-MAP,通过Mip-Mapping,可以为较小的多边形映射上面积较小的纹理,这对减少纹理的扰动大有好处。mipmapping是在纹理缓存里面装载不同分辨率的纹理位图,当物体里观察点较近的时候采用

4、高分辨率的纹理,离开观察点较远的时候采用低分辨率的纹理位图,就可以在很大程度上消除远端物体纹理的闪烁感。mipmapping的实现是以需要更大的纹理缓存为代价的,因为纹理缓存里面需要为场景中的物体保存不同分辨率的几套位图。,举个例子,你有一块256x256大小的纹理,当它开始向远离观察者的方向开始移动时,你会看到它开始闪烁和颤动。这种现象的出现是因为我们把一大块纹理映射到一个很小的区域而引起的。你可能在上一帧时,画的是纹理中(50,20)处的像素,到了下一帧,却画的是纹理中(60,30)处的像素。如果这两个像素相差很大,你就会观察到前面所说的现象了。,Mip-Map图映射方法是一种牺牲精度来提

5、高速度的纹理映射方法。 它采用一个适当大小的正方形区域近似表示图象空间一个象素在纹理空间的映射区域,用该正方形区域的样本平均值近似作为图象空间一个象素的纹理计算值。 Mip-Map图映射方法预先将纹理函数值按照不同的分辨率记录在纹理数组中,作为纹理查找表。其中低分辨率的函数值由比它高一级分辨率的函数值取平均得到。 设t(u,v)是纹理函数,给定的分辨率是NN(如512512),将纹理空间划分成NN个小正方形区域,取每个小正方形区域中的纹理函数平均值即得NN个纹理值,按红、绿、蓝3个分量分别存放于3个NN的二维数组中,即为Mip图的第一级数据(在设定的NN分辨率下的最高分辨率纹理值)。,mip是

6、拉丁文multum in parvo(聚集在一块小区域内的许多东西)的缩写, mip-map技术根据初始的纹理图案每边的分辨率S, 形成一个四棱锥型的mip-map,按照分辨率由高向低往上分层存放Mip-Map图映射表: 如果选取最高分辨率,即屏幕空间一象素几乎对应纹理空间的1(20)个正方形。此时压缩倍数是20,正方形的边长是1,应选取1层。 如果屏幕空间一象素几乎对应纹理空间的22个正方形,此时压缩倍数是21,正方形的边长是2,应选取2层。 如果屏幕空间一象素几乎对应纹理空间的2N个正方形,此时压缩倍数是2N-1,正方形的边长是N,应选取N层。,最大边法也叫斜边比较法,mip-map在确定

7、屏幕上可见表面的纹理过程如下, (1). 计算屏幕上可见表面的中心在纹理空间上的映射点坐标(u, v). (2). 确定纹理空间中以(u, v)为中心, 边长为d的正方形, 要求正方形能覆盖表面在纹理空间中映射的区域.(实际这样算d太复杂, 一般d为表面在纹理空间中映射的区域的最大边长) (3). 根据d的大小确定使用哪一级的纹理map. 因为mip-map中的纹理图案存储的是特定的图案, 即只有边长d = 2k, k = 0, 1, ., log2S的图案, 对于在2k d 2(k + 1)的边长d, mip-map通过线性插值第k层的纹理和第k + 1层的纹理得到,MIP-MAP步骤,图左

8、边是四棱锥型的mip-map, 其中纹理图案的层数是log2S + 1, 也就是设置一张64X64的纹理图案, mip-map就以64X64为底的四棱锥, 一共有log264 + 1 = 7层, 最上层为一个像素, 同时我们也知道为何纹理图案都建议是2的幂次的原因.,mip-map的存储是以一张查找表的形式存储的, 如图的右边, 一张64X64的纹理图案的查找表的大小是128X128. 存储时先提取纹理图案中每像素的R, G, B值, 然后对R, G, B值逐级压缩来得到.,MIP-MAP,为什么上图中会出现接缝现象?这是因为在不同的距离,会需要不同分辨率的贴图,但是在转换分辨率的时候,由于并

9、不能很平滑地转换从而导致接缝的出现。,箭头所指的地方就是两种不同分辨率的纹理交界处,仔细看可以见到区别。,为了解决不同分辨率贴图之间接缝的问题,技术人员推出了更先进的纹理过滤技术三线性过滤。,三线性过滤,三线性过滤,它的使用是和mipmapping配合的。在mipmapping中,由于采用了不同分辨率的纹理,在这些不同分辨率的纹理交界的地方,我们就有可能看见一个明显的边界,这显然是不符合实际情况的。另外,在场景中移动的时候,当显示的物体由一个分辨率的纹理切换到另一个分辨率的纹理的时候,我们就会看见纹理突然发生了变化。采用三线性过滤就可以避免这些问题,使不同分辨率的纹理之间看起来是均匀变化的。,

10、使用三线性过滤,几乎看不出界限的存在了,三线性过滤,三线性过滤的原理同双线性过滤一样,只不过三线性过滤的采集范围更大:它主要是在双线性过滤的基础之上增加了4个的纹理元素采样参考,也就是三线性过滤必须使用两次双线性过滤,即必须计算2X4=8个像素的值。 三线性过滤可以比双线性过滤更有效地解决不同LOD细节等级纹理过渡时出现的组合交叉重叠现象。但是当物体消失的方向(透视方向)和我们的视角有一定夹角时,三线性过滤仍然存在失真现象。,从上图可以以看到,在使用三线性过滤后,虽然接缝现象不见了,但存在有过渡模糊的现象,为什么会出现过渡模糊的现象呢?这是因为这条路相对于观察者来说,是相当“扁平”的,所以一个

11、像素在贴图上的图元像素会变得很扁。由于形状的不规则,显示芯片在选择不同分辨率的Mip Mapping时会选较低分辨率的Mip Mapping,这样就会造成在某个方向下分辨率是适当的,但是在另一个方向则会过渡模糊。,各向异性过滤,各向异性过滤主要作用通过增加更多的贴图模型来消除Z轴旋转表面的锯齿状线条、而达到更好的画面效果。它融合了双线性过滤和三线性过滤的一些特点。但从各向异性过滤又不同于传统的双线性和三线过滤:后两者都是各向同性的过滤,各方向上矢量值是一致的,在渲染时各个图元像素的尺寸、形状都是固定的;各向异性过滤正好相反,它主要处理矢量方向上值不一致的数据,在渲染时使用尺寸可变的图元像素。,

12、启用各向异性过滤后可以看到几乎所有的失真包括过渡模糊的现象,都已经消失了,不过在显卡实际工作中,上面几种过滤模式是相辅相承的。各向异性过滤一般都配合双线性过滤或三线性过滤来运行的。不过,它的缺点也是很明显的:对每个贴图来说,使用三线性过滤的情形下,最多会需要读取128个像素。这会占用很多显存的带宽,因此会造成性能降低。 不过,这个问题在今天已经不再是问题了目前主流的显示芯片在设计时就考虑了对各项异性过滤的硬件支持并提供了相当高采样率如Radeon9500、Radeon9700就提供了高达16X的采样率。,三线性过滤和各项异性过滤效果对比,END,补充知识,Isotropic Filtering

13、(各向同性过滤)为了克服最近点采样过滤的缺点,人们开始应用线性过滤技术,这包括了双线性过滤以及三线性过滤技术,最早出现的线性过滤技术,主要用与屏幕平行的纹理处理,不考虑与屏幕倾斜成角度的变化,这被称为各向同性过滤(当然是在各向异性过滤出现之后才开始这么称呼)。,Anisotropic Filtering(各向异性过滤)纹理不仅仅可以缩小、放大,它还可以倾斜、变形,这样古老的仅考虑和屏幕平行的纹理的各向同性过滤技术就不怎么灵光了,各向异性过滤就应运而生。 各向异性过滤是对一个针对变形的三维物体纹理的过滤技术,它对像素点周围方形8个或更多的像素进行取样,获得平均值后映射到像素点上。各向异性过滤可以

14、取得比各向同性过滤中的三线性过滤更好的效果,相对的,也需要更多的像素填充率,自然,处理起来也比三线性过滤来得更慢。传统的各向同性过滤通常只包换正方形的纹理,各向异性过滤技术引入了非正多边形的矩形、梯形和平行四边形纹理,这样就可以根据实际情况成比例地调整单元,各向异性纹理过滤还可以和线性过滤或者mipmap过滤联合使用,它们并不是互相排斥的关系:各向异性过滤当中,也可以选择双线性还是三线性。一般情况下,各向异性过滤技术从16个采样纹理像素中取平均值,其采样像素是双线性过滤的4倍、三线性过滤的2倍。,后置滤波法如果取很小的曲面参数,曲面上将是多个点映射到图象空间的同一个点B,取这些点的加权平均值作

15、为图象空间屏幕点的亮度(颜色)计算值。 前置滤波法如果对曲面片进行不断的分割直至每一子曲面片经过向图象空间映射之后只包含1个象素为止,称为正向映射;或从图象空间的象素(所占的矩形)出发,反求出它对应曲面片的4个角点,从而确定该象素对应的子曲面片,称为逆向映射。 将此子曲面片与参数空间对应,再由参数空间与纹理空间的映射决定纹理空间区域,此时子曲面片对应的纹理空间是一个四边形区域,先求出该区域的纹理加权平均值作为该象素的光亮度或颜色的计算依据,达到一一对应。 景物空间右下方的子曲面片经过向图象空间映射之后只包含1个象素A。 IA是子曲面片映射到纹理空间区域的纹理加权平均值,作为子曲面片显示点A的光

16、亮度或颜色计算值。,后置滤波法,前置滤波法,在下面这些方程中,uk 与 vk 是纹理坐标,yk 是点 k 处的颜色值。不带下标的值表示像素点,带有下标 0、1、2、3 的值表示从左上沿顺时针方向到左下包围像素的纹素点, 这就是线性插值方程。由于双线性方程是线性插值方程的一种特殊形式,所以 我们从较简单的线性插值方程开始分析。假设纹理是正方形的位图,并且满足我们进一步定义,这样就可以将插值方程化简为:代入方程,得到:或者,这种表示相当简单。但是,如果图像只进行缩放处理,而没有旋转、扭曲、透视或者其它处理,那么使用独立的方程计算并且保存用于后面数据行计算的 yb 或者 ya 速度将更快。,1.Su

17、per-sampling(超级采样技术) 超级采样,就是先将画面使用更大的分辨率进行处理,然后显示的时候,合成抗锯齿失真的画面,再用较低的分辨率显示。例如一个使用2X2方式处理的800X600的画面,就是先用1600X1200的分辨率进行处理,然后使用一个2X2的滤波器进行处理,合成的子像素权重系数就是1/4了 2.MultiSampling(多重采样技术) 在研发GeForce3时,NVIDIA在原Supersampling(超级采样)的基础之上提出多重采样的观念。在进行多重取样的处理时,也是先将显示的画面使用更大的分辨率进行处理。与超级取样不同的是,对于子像素,多重取样就会先判断是否所有的

18、子像素都在同一个三角形里面。 如果是的话,就说明这个像素本身就在同一个三角形里面,所以肯定不需要进行抗锯齿的平滑处理,如果刚好在三角形的边缘,就是一部分的子信号像素在三角形的外面,一部分的子像素在三角形的内部,那么这样的像素本身就是处于三角形的边上,需要进行抗锯齿的平滑处理。 这种抗锯齿的方法好处在于只对需要渲染待抗锯齿的场景一次就可以达到效果,不过对于一些三角形数量特别多的场景,这样的运算就显得还是力不从心了,因为有大量的像素需要进行处理,而且分辨率越高,像素越多,处理的速度也就越慢了。 后来在GeForce4 Ti上,NVIDIA又提出Accuview Antialiasing(锯齿失真修

19、正)技术,这属于改良的多重采样技术。在这里面NVIDIA使用新的取样位置来改善锯齿的品质,因为可以减少错误堆积,而且所采用的新过滤技术会在每次(多重)取样时被一起执行来产生抗锯齿的帧,并且省下了完整的帧写入,这样可以大幅改善抗锯齿的性 3.SmoothVison(视觉平滑技术) 针对超级采样的缺点,ATi在R200中推出了新的抗锯齿技术SmoothVison。ATi的SmoothVison抗锯齿是一种超级采样算法(RGSS),没有采用NVIDIA的多重采样技术。SmoothVison提供达16个不同的可程序化取样模式,并且每个像素可以作FSAA取样达16次,让它们进行位移叠加而得到最终的抗锯齿

20、效果。,采样和滤波理论,绘制一幅图像可看成是一个采样任务。 采样三维场景获得每个象素的颜色; 在纹理映射中,需要对纹素(texel)重采样;,Sinc Filter重建,在采样过程中会引入高频信号,sinc滤波器把所有高于采样频率1/2的正弦波信号过滤掉。,sinc滤波器重建得到的是连续信号,但计算机图形学不能直接用连续信号。但我们可以用连续信号把原信号重采样到另一个大小信号。,重采样用于采样信号的放大或缩小。 假设原采样点位于整数坐标(0,1,2,),重采样后,新采样点之间的间距为a,则当a1时,为downsampling;当a1时为upsampling,upsampling,采样信号 重建信号,重采样信号(放大),downsampling,采样信号 重建信号,重采样信号(缩小),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报