天天看点

图形学笔记(二)

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

图形学笔记(二)

取相近像素颜色(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

图形学笔记(二)

多次查询圆形区域,取近似值

继续阅读