纹理
# 纹理
Owner: -QVQ-
基于纹理的表现形式,纹理可分为:颜色纹理、几何纹理和过程纹理
需要关注的:
纹理坐标系(s,t) 物体表面的表示在(u,v)坐标系 投影平面上的像素显示在(x,y)笛卡儿坐标系
纹理映射方法:
纹理扫描
过程:将纹理模式映射至物体表面,再投影变换映射至投影平面
特点:
用线性函数进行纹理映射变换
选中的纹理表面常常与像素边界不匹配,需要进行像素分割计算
最常用的纹理映射方法
像素次序扫描
过程:将投影平面的像素区域映射至物体表面,再映射至纹理空间
纹理反走样方法
前置滤波方法
- 确定屏幕像素P上可见的景物表面区域A
- 将区域A直接映射到纹理空间区域T
- 区域A的平均纹理颜色 = 区域T内的所有纹理像素颜色值的平均
- 代入光照明模型,计算出像素P应显示的光亮度值
超采样方法
- 将屏幕像素P的四个角点分别映射到纹理空间,得到四个纹理像素值
- 像素P所对应的可见表面区域的纹理颜色 = 上述四个纹理颜色值取平均
Mipmap方法(应用最广之一)
通过预先计算并存贮原始纹理图像的一组多分辨率版本
预处理:
生成一个由不同分辨率图像构成的纹理图像序列(新版本中的每一个像素值取为原始图像中相对应的四个像素颜色值的平均)
映射阶段:
屏幕上的每一像素内的可见表面区域被映射到原始纹理图像上的一块区域
估计该区域所覆盖的原始纹理图像中像素的个数并以此作为选取适当分辨度的纹理图像版本的一种测度
如右图,选取相近的两个原始纹理图像,实时生成一个所需的纹理图像
三维纹理
凹凸映射(bump mapping)
作用:在不改变物体宏观几何的前提下,模拟物体表面粗糙的、褶皱的、凹凸不平的光照效果
基本思想:用纹理去修改物体的法向(物体表面的几何法向保持不变,我们仅仅改变光照明模型计算中的法向)
仅仅是修改已有的法向,让表面产生凹凸效果
法向映射(normal mapping)
原理:高精度法向纹理(事先计算高精度模型的法向保存)映射到低精度模型 = 高精度模型的绘制效果
完全用已经保存的新的法向,让模型光照更有细节
位移映射(displacement mapping)
依据与表面上点所对应的纹理值,沿表面法向偏移该点的几何位置
优:能产生很强的深度感:自遮挡、自阴影、轮廓
缺:计算代价大(与凹凸映射、法向映射相比)