图形学笔记(二)

低像素的图像纹理映射到高像素图像上,采用的几种纹理映射方式:

在这里插入图片描述

取相近像素颜色(Nearest)

取所在像素块内的颜色

双线性插值取周围像素的插值颜色(Bilinear)

在这里插入图片描述
红点位置的像素颜色,若取所在像素块内的颜色则为u11;
若采用双线性插值的话做三次lerp取颜色得到周围四个像素的插值颜色;

(Bicubic)

取周围16个像素做插值

非常大的纹理映射在屏幕上,导致走样的解决办法

出现的问题:在一个像素内,有多个纹理(信号变化快,采样点少),导致走样;
解决办法:使用mipmap,不采样;
mipmap特点:

  1. 允许做范围查询
  2. 快速
  3. 缺点:不准确
  4. 只能做正方形范围查询
  5. 占用内存是原来的4/3(计算方式:1 + 1/4 + 16/1 + …)

以2*2的倍数缩小分辨率
在这里插入图片描述
较远的物体,计算纹理的时候可以取当前像素在下一层LOD上区域内的颜色,就是当前区域的近似颜色,物体离得越远,取得LOD层级越高;
在这里插入图片描述
不同层取不同的LOD;
缺点:不能取层级中间的颜色;例如1.5层的LOD
解决办法:三线性插值
两层分别做双线性插值,结果再做一次插值

结果:在这里插入图片描述

各向异性过滤

对于太远的物体,采用三线性插值会导致远处像素模糊
在这里插入图片描述
红色框内采用了1*1的图片,导致不准确

mipmap计算结果是红框内的图片
在这里插入图片描述
各向异性过滤则计算出矩形图片(可计算单独边缩小2^n倍数的图像,例如128128,12864)
2X,计算一次,到边长/2;4X,计算两次,到边长、4;
缺点:只能是正方形或矩形范围

EWA Filter

在这里插入图片描述
多次查询圆形区域,取近似值

猜你喜欢

转载自blog.csdn.net/weixin_44054505/article/details/108478864