games101,Lecture9(Texture Mapping)

本文介绍了纹理过滤技术,包括三线性插值用于小纹理的锯齿消除,双三次插值对更广阔区域的平滑处理,以及Mipmap在分级细化纹理中的应用。针对非正方形纹理,提出了各向异性过滤解决方案,通过自适应地调整纹理缩放来处理矩形形状的纹理。此外,还探讨了EWA过滤方法,通过拆分不规则形状达到更好的覆盖效果。
摘要由CSDN通过智能技术生成

三线性插值

当纹理较小时,可使用三线性插值降低锯齿

原图纹理:
在这里插入图片描述
三线性插值:(寻找周围的四个像素点)
在这里插入图片描述
双三次插值算法(取周围16个像素点)
在这里插入图片描述

Mipmap(分级细化纹理)

计算某个像素点的mipmap,需要获取该像素点对应的纹理空间大小。(多开销 1 3 {1\over 3} 31内存空间).

在这里插入图片描述
d u du du为选取纹理坐标两点的u分量之差, d v dv dv同理。
d x dx dx为选取屏幕坐标两点的xf分量之差, d y dy dy同理。
因为这里选取临近的像素点取值,故 d x , d y = 1 dx,dy = 1 dx,dy=1,所以这里
L = m a x ( ( d u 1 ) 2 + ( d v 1 ) 2 , ( d u 2 ) 2 + ( d v 2 ) 2 ) d u 1 , d v 1 为 临 近 的 右 边 的 纹 理 坐 标 差 , d u 2 , d v 2 为 临 近 的 上 方 的 纹 理 坐 标 差 L = max(\sqrt{(du_1)^2+(dv_1)^2},\sqrt{(du_2)^2+(dv_2)^2}) \\ du_1,dv_1为临近的右边的纹理坐标差, du_2,dv_2为临近的上方的纹理坐标差 L=max((du1)2+(dv1)2 ,(du2)2+(dv2)2 )du1dv1du2dv2

这里用L可近似该像素点的纹理覆盖范围的边长。

D = l o g 2 L D = log_2L D=log2LD为分级细化纹理映射的级别。级别越大,约模糊。

小数分级细化纹理的线性插值

如果D不为整数,可以使用线性插值,使用floor(D)级纹理,和ceil(D)积纹理进行线性插值(根据D的大小加权插值)。
在这里插入图片描述

问题

mipmap只能处理正方形图像,如果是扁平状纹理映射

各向异性过滤(解决了矩形的问题)

向右每次横轴缩小一半,向下每次纵轴缩小一半。(开销多了三倍)
可解决一些矩形形状的纹理。
在这里插入图片描述

另外一些方法

EWA过滤

将不规则形状拆成多个圆形覆盖椭圆,多次查询覆盖原来形状。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Elsa的迷弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值