![e56a240058eb6c0e699d774412d8d5bd.png](https://img-blog.csdnimg.cn/img_convert/e56a240058eb6c0e699d774412d8d5bd.png)
序言:
@闫令琪 老师的GAMES101课程笔记!
前面的遗留问题,我希望得到一个三角形,三角形内部是填充了某一张图的现象,我们应该怎么做,这里就需要提到纹理映射这么一个概念。
内容:
纹理映射
重心坐标插值
Mipmap技术
纹理映射:
![bf63abfa22e25e3a69fdfc514e788be4.png](https://img-blog.csdnimg.cn/img_convert/bf63abfa22e25e3a69fdfc514e788be4.png)
纹理映射:
定义任何一个点的不同属性,这个就是纹理映射最基础的思想。
![916930af92d24bdf809795063d1e91b5.png](https://img-blog.csdnimg.cn/img_convert/916930af92d24bdf809795063d1e91b5.png)
我们先认为任何一个3维物体的表面都是2维的,有一个一一对应的关系。
定义一张纹理,把纹理映射到模型上。
![abcc3a0379aa35a19da26d70d0287865.png](https://img-blog.csdnimg.cn/img_convert/abcc3a0379aa35a19da26d70d0287865.png)
我们把一张图贴在表面上,怎么贴:
做一个模型,通过uv展开的方式(例如DCC软件中的uvw技术),然后对应上。
![e62630fbddfb3ab7f905ca61e3ff6586.png](https://img-blog.csdnimg.cn/img_convert/e62630fbddfb3ab7f905ca61e3ff6586.png)
定义一个纹理的坐标系,这个坐标系就叫UV,用来表示纹理上任何一个点。
范围:
U在0到1范围,V在0到1范围,方便处理,约定俗成的方法。
![49debb3622bad83a744ef58949f660c5.png](https://img-blog.csdnimg.cn/img_convert/49debb3622bad83a744ef58949f660c5.png)
三角形3个顶点,每个顶点都对应一个uv。
![201b30b6b6572323267b1897a3f9a011.png](https://img-blog.csdnimg.cn/img_convert/201b30b6b6572323267b1897a3f9a011.png)
![c7be25b76600cad2ad9f7e6548b5a673.png](https://img-blog.csdnimg.cn/img_convert/c7be25b76600cad2ad9f7e6548b5a673.png)
纹理映射可以重复多次,刚好衔接,把贴图做成四方循环。
![8476f485f9de5b800065b8fd0abd8f28.png](https://img-blog.csdnimg.cn/img_convert/8476f485f9de5b800065b8fd0abd8f28.png)
![b782a49e27ad34ed5f09dacc1e1d92b0.png](https://img-blog.csdnimg.cn/img_convert/b782a49e27ad34ed5f09dacc1e1d92b0.png)
知道3个顶点对应的u和v,那如何知道三角形内部对应的纹理坐标uv,这里涉及了 插值问题。
插值什么意思:三角形的3个顶点有各自不同的属性,那么如何在三角形内部做一个平滑的过渡,这是我们要解决的问题。
重心坐标:
![0cb482a7bf6747a6b46e3dc1202d88e3.png](https://img-blog.csdnimg.cn/img_convert/0cb482a7bf6747a6b46e3dc1202d88e3.png)
![ddbc020e280c7ff90f17aae9fa4d44d6.png](https://img-blog.csdnimg.cn/img_convert/ddbc020e280c7ff90f17aae9fa4d44d6.png)
1,为什么要做插值?重心坐标的作用?:
我们要做的很多事情都是要在顶点上计算的,然后在三角形内部希望得到一个平滑的过度,当我知道顶点的属性之后我希望三角形内部任何一个点