计算机图形学——学习记录六(映射技术Texture)

文章内容是对《3D计算机图形学》(第三版)一书的学习记录。


纹理映射可看成是一个两阶段的过程,从二维的纹理空间到物体的三维空间,然后将投影变化到二维的屏幕空间。第一个变化称为参数化,第二阶段是常规的计算图形学的投影变化。参数化就是将纹理空间中的所有点与物体的表面上的点相关联。

二维纹理映射到多边形网格物体

目前最流行的是在建模阶段将纹理空间坐标与多边形的顶点相关联。也就是相当于去找到上面所提到的参数化过程。前向映射易于理解,但是,实际中大多采用反向映射。
在纹理映射中有两个主要的算法:
在这里插入图片描述

反向映射

这个算法是由屏幕空间驱动的,对于每一个像素点,通过纹理空间反向映射“预置图像”得到的,对于每一个像素点,求得和他对应的(u,v)坐标,用一个过滤运算将预置图像中包含的信息进行积分,然后将求出的颜色结果赋值给像素。正方形的像素将产生一个预置图像的弯曲的四边形。

双线性差值实现反向映射

只从二维屏幕空间映射到二维纹理空间的变化是方便的,这只是一种图像扭曲变化,可以将其建模为一种有理线性的投影变化。在这里插入图片描述
写成齐次坐标中的变化和逆变化为:
在这里插入图片描述
在这里插入图片描述
那么在纹理映射过程中,如果我们有四边形的四个顶点的关联,就可以求出9个系数,实际上这个方程只有5个自由度,可设i=1,所以只需要确定八个系数。

用中间表面进行反向映射

使用两段映射,纹理在被映射到物体上之间先被映射到中间表面上,中间表面一般不是平面是一个曲面。
在这里插入图片描述
第一阶段从二维空间映射到一个简单的三维中间表面(S映射),第二阶段将三维纹理团映射到物体的表面(O映射)。

S映射

对于第一阶段,有四种中间表面

  • 一个任意方向的表面
  • 圆柱体的曲面
  • 立方体的表面
  • 球面

例如圆柱体的映射:
在这里插入图片描述

O映射

对于第二阶段的映射,多种可能,纹理值从曲面上获取,一共有四种:

  • 反射的观察光线和中间表面的交点。
  • 在物体上一点处的表面法向量和中间表面的交点
  • 穿过物体上的点和物体质心的连线和中间表面的交点
  • 从物体表面一点到中间表面的连线的交点。连线的方向由这一点处的表面方向确定。类似于幻灯片。

在这里插入图片描述
可以将这个过程分为三段:

  1. 反向映射四个像素点到物体表面的四个点上

  2. 使用O映射,求出圆柱体表面上的点,把物体上的点和圆柱体的中心相连接,这条线就可以得到圆柱表面的交点。
    在这里插入图片描述

  3. 应用S映射,求出对应圆柱体表面点的(u,v)

前向映射

这个算法由纹理空间驱动,纹理空间照片中的正方形纹理在屏幕空间产生一个弯曲的四边形,将纹理图看成一块橡胶,这块橡胶被拉开撑大,使它能够被贴在物体的表面上。比较简单,但是不常用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值