Game101课程笔记_lecture09_着色(插值,高级纹理映射)与阴影

在这里插入图片描述
在这里插入图片描述

1 重心坐标

1 重心坐标引入原因

作三角形内的插值。
在这里插入图片描述
为啥要插值呢?
在这里插入图片描述

内容:定义在三角形顶点的法线
在这里插入图片描述
在这里插入图片描述

2 重心坐标

三角形内的任意点都可以用三角形的三个点的坐标线性表示。
重心坐标是三个数。
点在三角形内,必须满足这三个系数都大于零。
在这里插入图片描述
A点自己的重心坐标是什么?
在这里插入图片描述
其实这三个数都是可以用三角形的面积比求出来。如下图:
在这里插入图片描述
重心坐标的一个特性如下:
在这里插入图片描述
任意一个点的重心坐标计算公式如下:
在这里插入图片描述
先算出它的重心坐标,然后再插值三角形三个顶点的其他属性。
在这里插入图片描述
重心坐标在投影之后坐标会变化,所以插值三维空间的属性,就应该插值三维空间中的重心坐标,然后再对应到二维空间中。

重心坐标和插值的关系是什么呢?

2 Texture queries

在这里插入图片描述

1 纹理的放大texture magnification

纹理太小了怎么办?纹理就会被拉大,取到的指会是非整数。
texel纹理元素,纹素
在这里插入图片描述

1 Nearest 四舍五入

2 Bilinera interpolation 双线性插值

找邻近的四个点。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
线性插值:
双线性插值:水平和竖直方向插值。
在这里插入图片描述
水平方向插值:
在这里插入图片描述
竖直方向插值:
在这里插入图片描述

3 bicubic

取邻近的周围的16个点。
开销降下去,然后得到一样的结果。

2 纹理太大

1 导致的问题

纹理大了,问题更严重。
在这里插入图片描述
问题如下:
在这里插入图片描述
问题原因:
屏幕上覆盖的纹理大小都是不一样的。
一个像素覆盖的纹理大的时候,用像素中心取采样,是不可以的。
在这里插入图片描述

2 解决办法:超采用,but太慢

在这里插入图片描述

在这里插入图片描述
像素内部包含很大的纹理,
采用一个像素内采样多个点来采样这快很大的纹理,来做反走样。
在这里插入图片描述

3 Mipmap

用另一个方法:不采样。
任何一个区域你要得到它的平均值。这个就是mipmap
点查询和范围查询问题;
以前做的是点查询
这个问题是范围查询,查平均值。有不同种类的
如何快速知道它的平均值。
在这里插入图片描述

mipmap可以做近似查询,但是有以下的特点;
快,不准,正方形
在这里插入图片描述
mipmap:一张图生成多张图。
第一层:分辨率128X28
第二层:64X64
… : …
拿到纹理后,先生成mipmap
在这里插入图片描述
在这里插入图片描述
在视觉领域内,叫做图像金字塔。
mipmap引入了多大的存储量呢?
和第一幅图小,这个是级数求和的,1+1/4+1/16+。。。。
只是增加了原来存储量的1/3。
另外一种理解方式:

这一块比较难懂。
查询的区域有多大?
任何一个像素都可以映射到纹理上的一个区域。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在第几层取查它呢?在D=log2L;

离的近的在底层查,离的远的在高层查
会有不连续的地方,没有1.5层,如何做呢?
在这里插入图片描述
层与层之间的插值,用来解决不连续的问题:如下
三线性插值:做两次查询,做一次插值
在这里插入图片描述

在这里插入图片描述
mipmap的限制
在这里插入图片描述
mipmap在远处就完全模糊了,为啥了?
在这里插入图片描述
解决办法:各向异性过滤,如下:
在这里插入图片描述
多了不均匀的水平和竖直方向的压缩。
在这里插入图片描述
在这里插入图片描述
各向异性解决了对于矩形的查询,但是对于斜行的,没法解决。开销增加了3倍
各个方向上表现都不同。mipmap是各向同性。

EWA过滤。
采用了多次查询。
在这里插入图片描述

整个光栅化的过程都涉及到了。这是硬件要做的事情。

3 纹理的应用

4 视频

https://www.bilibili.com/video/BV1X7411F744?p=9

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值