06[纹理映射技术]

本文深入探讨3D模型的纹理映射技术,解释了基础的二维纹理映射,包括如何从纹理空间映射到物体表面,以及两步法纹理映射,特别是环境映射的应用。此外,还介绍了凹凸纹理映射和位移纹理映射以实现更真实的表面质感。最后,讨论了反走样技术,如mip-map,以及如何在DirectX Graphics中应用纹理过滤器和设置纹理地址模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第六集 纹理映射技术

 

为使建立的3D模型更接近现实世界中的物体, 简单的颜色变换已经无能为力, 这时我们就需要纹理映射技术了.

 

    这一集我们讲解基础的纹理映射技术的数学模型, 对于在粒子系统使用的过程纹理技术在高级部分讲解.

 

6.1 二维纹理映射

 

6.1.1 纹理映射的简单建模

 

    二维纹理映射就是从二维纹理平面到三维物体表面的映射. 一般二维纹理平面是有范围限制的, 在这个平面区域内, 每点都可用数学函数表达, 从而可以离散的分离出每点的灰度值和颜色值, 这个平面区域称为纹理空间, 一般将纹理空间的平面区域定义在[0, 1] * [0, 1].

 

    纹理映射是确定物体表面一点P在纹理空间中的对应点(u, v), 从而纹理空间中的点(u, v)处的纹理值就是物体表面点P的纹理属性. 这样屏幕上显示的像素的颜色可通过下面的映射得到,

F : Screen Space --> Object Space

 G : Object Space --> Texture Space

其中F我们在第二集中已详细讲解过, 所以我们关心的是G. 只要确定了物体表面的纹理属性, 接着就是将物体表面上各点所对应的纹理值作为光照明模型中的相应参数进行光强度计算, 再绘制画面.

 

    所以G函数的定义直接影响画面的效果, 如何确定G非常重要. G可表示为,

(u, v) = H(x, y, z)

 

其中(u, v)和(x, y, z)分别是纹理空间和物体空间中的点. 现在从简单的圆柱开始, 一个高h, 半径为r的圆柱的纹理映射方法, 我们用参数形式表示圆柱,

 

x = r * cos a

y = r * sin a

z = h b

0 <= a <= 2PI, 0<= b <= 1

 

从纹理空间 [0, 1] * [0, 1] 到 [0, 2PI] * [0, 1] 的线性变换为,

u = a / 2PI

v = b

 

这样, 我们建立了物体空间到纹理空间映射的表达式. 如图6.1

图6.1

 

    物体表面没有象圆柱一样, 所以上面的方法不实用.

 

6.1.2 两步法纹理映射

 

    1986年, Bier和Sloan提出了一种独立于物体表面的纹理影射技术, 将纹理空间到物体空间的映射分为两个简单的映射复合. 两步法纹理映射的核心是引进一个包围物体的中介三维曲面作为中间映射媒体, 主要过程分两步,

 

(a). 将二维纹理映射到一个简单的三维物体表面, 如平面, 球面, 圆柱面, 立方体表面, 采用不同的中间映射媒体生成的纹理效果是不同的, 要根据目标物体表面来选择.

 

     S : (u, v) --> (x', y', z')   ---    S-映射

 

     如半径为R的球的S-映射为,

 

x = R * cos a * sin b

y = R * sin a * sin b

z = R * cos b

(0 <= a <= 2PI,  0<= b <= PI)

 

(b). 将(a)的三维物体表面上的纹理映射到目标物体表面,

 

     O : (x', y', z') --> (x, y, z)    ---    O-映射

 

     O-映射一般有4种, 如图6.2,

图6.2

     (1). 取视线在物体表面可见点(x, y, z)处的反射与

          中间映射媒体表面上的交点(x', y', z')作为

          (x, y, z)的映射点.

 

     (2). 取物体表面可见点(x, y, z)处的法线与中间映射

          媒体表面上的交点作为映射点.

 

     (3). 取物体中心到可见点(x, y, z)的射线与中间映射

          媒体表面上的交点作为映射点.

 

     (4). 中间映射媒体表面上的点(x', y', z')处的法线

          与物体表面的交点为(x, y, z), (x', y', z')

          为(x, y, z)的映射点.

 

    其中(1)映射方式应用的最广, 称为环境映射, 我们下一节会简单的说明一下. 其余的三种O-映射和上面4种S-映射有12种组成, 其中可用的为5种, 如下表.

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值