纹理映射 Texture Mapping
September 10, 2020About 1 min
纹理映射 Texture Mapping
纹理映射将 2D 图像(纹理)贴到 3D 模型表面,为模型提供颜色、法线、粗糙度等属性,是替代几何细节的核心技术。
UV 坐标
模型的每个顶点都对应一个 UV 坐标
采样与过滤
直接用浮点 UV 取整到最近像素(最近邻 / Nearest)会产生锯齿;常用过滤方式:
| 方式 | 说明 |
|---|---|
| 最近邻(Nearest) | 取最近纹素,速度最快,有马赛克感 |
| 双线性(Bilinear) | 对周围 4 个纹素做加权插值,平滑但仍可能模糊 |
| 三线性(Trilinear) | 在两层 Mipmap 之间再做双线性插值,过渡更平滑 |
| 各向异性(Anisotropic) | 沿纹理梯度方向采样多个样本,斜视角效果最好 |
Mipmap
预先生成一组分辨率递减(每级宽高减半)的纹理副本。渲染时根据像素覆盖的纹素数量选择合适层级,避免远处纹理的摩尔纹(过采样锯齿)。
层级选择依据屏幕空间纹理梯度:
环绕模式(Wrap Mode)
UV 超出
- Repeat:平铺重复
- Clamp to Edge:钳位到边界颜色
- Mirror:镜像平铺