Lecture 09 Shading 3 (Texture Mapping cont.)

Barcentric coordinates(重心坐标)

  • 使用插值做什么?
    • 三角形顶点质地、坐标、颜色、一般向量等
  • 如何做插值
    • 使用重心坐标

重心坐标表示:

如果满足了 α β γ \alpha \beta \gamma αβγ 为非负,则这个点一定在三角形内部。在这里插入图片描述

α β γ \alpha \beta \gamma αβγ 的值“对面”的三角形面积成比例:在这里插入图片描述

  • 求得中心坐标:
    • 在这里插入图片描述

    • 在这里插入图片描述

    • 根据重心坐标线性插值在这里插入图片描述

    • 投影下,重心坐标并不是一一对应。这样的话,需要在三维层面先求得中心坐标,而不是投影了的二维坐标。

应用纹理到实时的渲染

找到纹理映射,然后直接查阅纹理位置,直接粘上去。在这里插入图片描述

纹理扩大(如果纹理较小)

纹理到不同位置

在这里插入图片描述

如果使用最近纹理映射,这样会导致细看有明显的小方格。

  • Bilineaer interpolation
    • 在这里插入图片描述

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 对应简单模型来说,双向线性插值效果不错,但是相对于Bicubic(选取周围16个像素)

纹理扩大(如果纹理较大)

在这里插入图片描述

如果在近处,我们使用周围像素纹理值来采样,没有问题;但是如果较远的话,这会出现很大失误。在这里插入图片描述

在纹理过大,如何处理采样问题?

如果使用supersampling可以吗?在这里插入图片描述

在这里插入图片描述

Mipmap (可以做范围查询、特点快、近似、只可以是正方形)

在这里插入图片描述

处理之前,先生成Mipmap。比原来存储量多了 1 / 3 1/3 1/3存储量

在这里插入图片描述

这里有个很细节的思维,假设把Level 0放满前三个方格,如图箭头所示。后面不断加入Level 1-n,最后拼成恰好展 1 / 4 1/4 1/4

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

映射的时候,发现不太连续。发现不同层的话,可以进行双线性插值得到另一层。

做三线性插值,开销较小,只要做两次查询。现在游戏都是默认有这种方式的在这里插入图片描述

在这里插入图片描述

效果对比:在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

为什么会模糊呢?只能查询方块内的平均值,并且三线性插值也是大致

  • 解决方案:

    • 在这里插入图片描述

    • 这样可以很好解决mipmap问题,但是对于绿色方块中斜矩阵还是问题:

    • 在这里插入图片描述

      在这里插入图片描述

解决办法,使用EWA 过滤器计算。使用多次查找,加权。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值