纹理的基本概念
一、什么是纹理
模型总共分为 3 部分
- 骨:模型的骨骼
- 肉:三角面片(由模型顶点围成的轮廓)
- 皮:纹理图片
纹理的主要作用就是使用一张图片来控制模型的外观,通过纹理映射技术,将图片和模型联系起来,让模型能够呈现出颜色的表现
纹理映射: 是一种计算机图形学中的一种技术,它将图像(纹理)映射到三维模型的表面,从而赋予模型更加真实和细致的外观 实质上是将二维图像映射到三维空间的过程
二、如何进行纹理映射
在建模软件中,美术同学会利用纹理展开技术将纹理映射坐标储存到每一个顶点上 模型表面的顶点都与纹理坐标相关联 纹理坐标通常使用二维坐标系统(称为 UV 坐标),其中 U 代表水平轴,V 代表垂直轴
通过 UV 坐标可以获取到贴图上对应像素点的颜色

三、UV 坐标对 Shader 开发的意义
在顶点着色器回调函数传入的数据中,我们可以获取到模型中的 UV 坐标 通过获取到的 UV 坐标我们就可以通过纹理贴图(图片) 从中取出映射的颜色用于渲染 模型就可以呈现出“皮”的效果
四、UV 坐标的注意事项
- 纹理坐标(UV 坐标)的横纵轴的取值范围是归一化后的,取值在 [0,1] 之间 主要是为了适应不同大小的纹理图片(512x512,1024x1024,···)
- UV 坐标只在顶点中记录,因此在数据传递进片元着色器之前,UV 坐标会在中间阶段进行插值计算 即:每个片元着色器中得到的 UV 坐标大部分是插值计算的结果