12纹理概念及纹理映射说课讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

纹理映射
纹理的概念 函数纹理 几何纹理 纹理映射
纹理映射
纹理的概念 函数纹理 几何纹理 纹理映射
纹理映射
把纹理图像值映射到三维物体的表面的技术
• 问题 改变物体的属性,可以产生纹理的效果,对简单光
照明模型而言 • 改变漫反射系数来改变物体的颜色 • 改变物体表面的法向量
纹理映射
目标: 在不增加几何细节的情况下增加可见的细节 多边形 多边形
纹理示例
表面细节的基本概念
表面的分类:
1)光滑表面(理想世界) 2)细节表面(真实世界)
纹理的分类:
1)颜色纹理
二维纹理,物体表面花纹、图案 三维纹理,木材纹理
2)几何纹理
基于物体表面的微观几何形状------法向扰动 举例:凸凹不平的树皮
• 纹理映射可分为 2D 和 3D 映射 • 2D – “墙纸”,即将一个 2D 图像映射到一个物体上 • 3D – “雕刻” ,即在一块材质上刻出一个物体
2D 纹理映射
• 将一个 2D 纹理图映射到一个 3D 物体上 • 如何将物体上的点与纹理上的坐标一一对应 ?
纹理映射
所谓纹理映射,就是将一给定的纹理函数映射到物体的表面上,即在 计算物体表面光照度之前,将相应的纹理函数值作为物体表面漫反射的光亮 度Id代入光照明模型进行计算。 作纹理映射时,需要涉及纹理空间、景物空间及图像空间之间的映射, 映 射过程如图 所示。
对于一般参数曲面片,如双三次参数曲面片,通常将其沿u, v参数线划 分成四边形或三角形网格。 四边形或三角形网格内的参数值,可以由顶点处 精确的参数值求出。
在图中,参数曲面片由空间四边形B1B2B3B4近似表示,
其中: u1≤u≤u2, v1≤v≤v2。
B2 (u1 , 2 ) B12
B
B1 (u1 , 1 )
图中:
粗实线 -- 波峰, 细实线 -- 零值, 虚线 -- 波谷。 实心点 --- 局部最大, 空心点 --- 局部最小。
2. 双线性插值纹理函数
函数纹理
用一数组F表示一幅数字化图像(真实感图像的离散采样), 其大小为m×n。 对纹理数组进行双线性插值便可得到纹理函数, 其方法是:
将纹理空间的单位正方形分成(m-1)(n-1)个小矩形。
若令 f1=g2=1, f2=g1=0, θ1=θ2=0,则
f(u,v)=IG+A1cos(u)+A2cos(v)
函数纹理
再令A1=A2,则可得两个正交余弦波产生的正四边形纹理。 i=3,则F(u,v)由三个余弦函数的和组成,产生的纹
理为三角形。
长峰波模型中的Ai是随机变量,用这种模型可产生逼真的 自然纹理。
Mip图映射
各级数据按图中所示的方式存储于内存中。图中标有R、G、B的
区域分别存放某一级数据(纹理函数的平均值)的红、绿、蓝三个 分量,
Mip图的查找
设: (u,v)为屏幕像素中心的纹理坐标, s为屏幕像素在纹理空间中所近似对应的正方形区域的边
长,则: Mip图的查找可由三个量u, v, s决定。
一般取s为像素e映射到纹理空间后曲边四边形的最大边长, 从图 可知:
ab (u/x)2x2 (v/x)2x2 ad (u/y)2y2 (v/y)2y2
Mip图的查找
从图可知:
ab (u/x)2x2 (v/x)2x2 ad (u/y)2y2 (v/y)2y2
因为Δx=Δy=1,所以
sma ax ,b a()d ma( xu/(x)2 ( v/x)2, (u/y)2 ( v/y)2)
纹理映射
纹理的概念 函数纹理 几何纹理 纹理映射
用着色模型存在的问题: -模型假设漫反射表面的反射是均匀的
• 由于表面过于光滑单调而显得不真实。 对于墙壁或台球等情况这样的假设是可行的,但
对大多数物体是不可行的 可以通过增加几何复杂性来实现细节
- BAD! 但太费时 替代的方法: 纹理映射
- 由 Catmull (1974), Blinn 和 Newell (1976), 等提出
• 也可用其他方法定义纹理空间
– 用参数曲面的参数域作为纹理空间 2D – 用辅助平面、圆柱、球定义纹理空间 2D – 用三维直角坐标作为纹理空间 3D
• 纹理函数是定义在此空间上的函数
纹理映射
纹理的概念 函数纹理 几何纹理 纹理映射
1. 长峰波纹理函数 (long crested wave)
设: 纹理函数为F(u,v),背景光亮度为IG, 则长峰波模型为一系列正弦或余弦函数的和,即
(2) 如果曲面区域由两个三角形F1和F2近似表示,则曲面片的参 数化公式可进一步简化。如图中,F1内任意一点可表示为
B (u ,v ) ( ( u u 2 u u 1 1 ) )(B 2 B 1 ) ( ( v v 2 v v 1 1 ) )(B 2 B 1 ) B 1
纹理映射例子
• 地板与墙都是经过二维图象纹理映射后的平面
非参数表面
• 如果在范围(0,1) 为顶点赋值,即可以使用相同的方法进
行纹理映射 :
非线性映射
• 通过采用非线性映射来扭曲纹理 :
Mip图纹理映射法
具体应用以上讨论的纹理映射方法时,为了提高运算速度, 可采用一些较为近似但速度较快的方法。
其中,Mip图法和Catmull 细分法是较为典型的方法。 Mip图映射法采用一正方形区域来近似表示像素在纹理空
间的对应区域dA,其计算量较小,运算速度快,但会形成纹理 的走样, 不过可以通过纹理的反走样算法进行校正。
Mip图是一张查找表:
设纹理函数为F(u,v),则给定
一分辨率n×n时,可将纹理空
Ru
u
BG R uu
R
BG
u
u
u R
B
G
间划分成n×n个小正方形区域。
取每一个小正方形区域中的纹 理函数值的平均作为n×n个纹 理函数的平均值,
较好的覆盖 :
包围盒映射
• 将每一个平面投影到物体的表面上 . • 用物体的法向量决定用哪个纹理进行映射 .
• 映射结果:
包围盒映射
包围盒映射
• 采用一组不同的纹理图:
• 映射结果:
包围盒映射
二维纹理域的映射例子
• 纹理映射中最常见的纹理
– 一个二维纹理的函数表示
0 g (u, v) 1
设Mip图的第i级数据为Fi(u,v), 并令 ω = lbs, 当ω为整数时, Fω(u,v)即为由u, v, s决定的纹理颜色值;
当u, v不在第ω级数据整数网格点上即ω不为整数时,
Fω(u, v)可能涉及对u, v相邻网格点上纹理存储值的线性插值。 设:
1 (x2 y2) y)
x2 y2
其它
球形映射
• 这种映射仍然在极点产生纹理的聚集,但聚集方式与圆柱
映射不同 .
映射方式(例子)
参数表面的映射
• 已经用(s, t)对参数表面进行了参数化 • 将 (s,t) 参数直接作为 (u,v) 纹理参数使用
Utah 茶壶
• 32 个参数曲面片的茶壶
原始模型
二维纹理
几何纹理
综合
纹理映射的形状
• 平面映射
– 只要简单地消除物体的一个坐标 (投影到坐标系平面 )
平面映射
• 保持纹理在一个方向上不变会产生不期望的副作用 – 例如 沿着 Z轴投影
平面投影
• 分别沿着 X 和 Y轴投影
包围盒映射
• 较单个平面映射而言,采用一组平面映射可以对物体取得
圆柱映射
• 采用相似的方法可获得平行于X 轴或Y轴的圆柱映射:
圆柱映射
• 将(x,y,z) 转换为 (r,θ , 高度).
• 对于绕z轴的纹理映射, 将θ 转换为 u坐标 高度转换
为 v坐标。
• 这样做将使2维纹理围绕着物体扭曲 .
圆柱映射
• 在圆柱的两端,纹理被聚集在一起 . • 例如,形成一个平行于Z 轴的圆柱映射 :
(a)
B4 (u2 , 2 ) B34 B3 (u2 , 1 )
B2 (u1 , 2 ) F2
B4 (u2 , 2 )
F1 B1 (u1 , 1 )
B3 (u2 , 1 )
(b)
曲面片的参数化
(1)如果采用双线性插值,则B1B2B3B4区域内的任意一点B可写成:
B(u,v)(u (u2 u u1 1))((v v2vv1)1)(B4B3B2B1) ((uu2 uu11))(B3B1)((vv2 vv11))(B2B1)B1
• 高度转换为 u坐标, 长度转换为 v坐标 .
球面映射(例子)
• 球面参数方程
x cos(2u) cos(2v)
y
sin(
2u)
cos(2v)
z
sin(
2v)
• 球面上一点(x,y,z)的参数即纹理坐标
0u 1 0v 1
(0,0)
如果 (x, y) (0,0)
(u, v) 1 (
1 (x2 y 2 ) x,1 x2 y2
将所产生的小矩形作为纹理数组的相对下标,这些下标与纹理 数组元素相对应.
函数纹理
对于u-v平面上任意一点(u,v),若其不在小矩形顶点,则可对包含它的 小矩形的顶点进行双线性插值,以获得它的纹理值。 例如在图(c)中,点e(u,v)的纹理函数值就是点f和点g的纹理函数的线性插值, 而点f , g的纹理函数值又分别是点a和b及点c和d的纹理函数的线性插值。 依次计算各点,便可得到一连续的纹理函数F(u,v)。
1 颜色纹理
一光亮度函数。 最常用的纹理函数是二维光亮度函数。 纹理函数可由一数学模型定义,也可用一幅平面图像表示。
采用纹理映射(texture mapping)技术可模拟物体表面精致的不规 则的颜色纹理。
----- 将任意的平面图形或图像覆盖到物体的表面,在物体的 表面上形成真实的彩色纹理。
典型纹理
将像素点映射到景物空间的可见表面上,以实现屏幕像素 到景物表面的映射。
为了从屏幕坐标(图像空间)(x,y)求得景物空间坐标(x0,y0,z0),可
利用消隐时已算出的(x,y)处可见面的深度值z0,用z0通过逆透视
变换求出x0和y0。
1 0 0
设逆透视变换为 :
Байду номын сангаас
qx qy q [x0 y0 z0]0 1 0
u 8 v 8odd u 8 v 8even
V (0,1)
映射方法
• 建立物体空间坐标(x,y,z)和纹理
空间坐标(u,v)之间的对应关系
(0,0)
• 对物体表面进行参数化,反求出物体
表面的参数后,根据(u,v)得到该处
的纹理值,并用此值取代光照明模型 中的相应项,实现纹理映射
(1,0) U
• 图象纹理:将二维纹理图案映射到三维物体表面, 绘制物体表面上一点时,采用相应的纹 理图案中相应点的颜色值。
• 函数纹理:用数学函数定义简单的二维纹理图案, 如方格地毯。
或用数学函数定义随机高度场,生成表 面粗糙纹理即几何纹理
纹理空间
• 纹理定义在单位正方形区域
之上,称为纹理空间
(0 u 1, 0 v 1)
函数纹理
F(u,v)IG
i
Ai cos fiu(givi)
i 2
Ai为幅值; u和v分别为纹理空间的两个坐标; fi和gi分别为u和v的频率系数; θi为相位角。
函数纹理
如果取F(u,v)为两个余弦函数的和,则
F(u,v)=IG+A1cos(f1u+g1v+θ1)+A2 cos(f2u+g2v+θ2)
重复纹理
重复纹理
任何图像均可以用于纹理映射
生成表面细节的方法
• 表面细节多边形
模拟简单、规则的颜色纹理
• 纹理映射
模拟精致、复杂的颜色纹理 纹理来源: 1)数字图像;
2)数学公式定义的纹理函数
• 法向扰动法
模拟凹凸不平的物体表面,用于产生随机的几何纹理效果 难度在于扰动函数的选取
– 纹理定义方法:
0 0 1/r
则 x 0 qx
y0
qy
q z 0 / r
下面确定(x0,y0,z0)所对应的纹理坐标(u,v),即确定由景物空间 向纹理空间的映射。 这种映射过程实际上是曲面片的参数化过程。 对于已显示给出的面片可以直接计算出纹理的空间坐标, 即
u=u(x0,y0,z0) v=v(x0,y0,z0)
G B
D
并按红、绿、蓝分量分别存放 在三个n×n的二维数组中,即 为Mip图的一级数据。
Mip图映射
Mip图
将一级数据压缩一位,
即取每相邻的四个数据的平均,就 可得到Mip图的二级数据, 如此依次进行压缩,就可以得到 n+1 个不同等级的Mip图数据。
Ru
u
BG R uu
R
u
BG
u
u
R
B
G
G B
D
圆柱面映射(例子)
• 圆柱面的参数方程
x cos(2u)
y
sin(
2u)
0u 1 0v 1
z
v
• 圆柱面上一点(x,y,z)的参数即纹理坐标
(u, v) (
(y, z) (x, z) x2 y2 y ,z) x
如果x=0 如果y 0
其它
球形映射
• 从 (x, y, z)变换到球坐标系
相关文档
最新文档