高级计算机图形学纹理映射

上传人:ali****an 文档编号:119230676 上传时间:2020-01-09 格式:PDF 页数:32 大小:977.45KB
返回 下载 相关 举报
高级计算机图形学纹理映射_第1页
第1页 / 共32页
高级计算机图形学纹理映射_第2页
第2页 / 共32页
高级计算机图形学纹理映射_第3页
第3页 / 共32页
高级计算机图形学纹理映射_第4页
第4页 / 共32页
高级计算机图形学纹理映射_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《高级计算机图形学纹理映射》由会员分享,可在线阅读,更多相关《高级计算机图形学纹理映射(32页珍藏版)》请在金锄头文库上搜索。

1、高级计算机图形学高级计算机图形学 中国科学技术大学计算机学院 黄章进 zhuang 第二节 纹理映射 2 基本内容 映射方法 纹理映射(texture mapping) 环境映射(environmental mapping) 凹凸映射(bump mapping) 基本策略 正向映射和逆向映射 点采样与区域平均 3 几何建模的局限 虽然图形显示卡可以每秒钟显示多达一千 万个多边形,但这个速度仍不能满足模拟 许多自然现象和天然物质的要求 云 草 地貌 树皮 毛发 水波与火焰 4 橙子的模型 考虑如何建立橙子的模型 用橙色的球表示橙子 太简单 用更复杂形状代替球 没有表示出表面的特性(微凹, dim

2、ples) 为了模拟所有的微凹,需要相当多的多边形 5 橙子的模型(续) 获取真实橙子的照片,扫描后把结果“粘 贴”到简单的几何模型上 这个过程就是纹理映射 可能结果仍然不令人满意,因为所得曲面 是光滑的 需要改变局部形状 凹凸映射 6 三种映射方法 纹理映射 利用图像填充多边形 环境映射(反射映射) 利用环境的图像进行纹理映射 可以模拟高度镜面曲面 凹凸映射 在渲染的过程中改变法向量 7 纹理映射 几何模型纹理映射后 8 环境映射 9 凹凸映射 10 三种映射的共同点 作为片段处理的一部分,改变单个片段的 明暗值 都与存储为一维、二维或三维数字图像的 贴图有关 保持低的几何复杂性,但能产生复

3、杂几何 的视觉效果 都可能产生走样误差 11 映射在什么地方进行? 映射技术是在绘制流水线的最后阶段实现的 非常有效,因为在经过所有的操作后,许多多边形被裁 减掉,减少了不必要的映射 12 二维纹理 纹理:以数组形式存储在处理器内存里的二维 图像,此时数组元素称为纹素(texel) 由应用程序生成或照片扫描输入 把离散数组看成一个连续的二维矩形区域纹理 图案T(s,t),独立变量s和t是纹理坐标 一般把纹理坐标缩放到0,1区间 13 很容易吗? 虽然映射的想法很简单,即把图像映射到曲面 上,但由于这时要用到三、四个坐标系,因此 实现起来并不容易 二维图像 三维曲面 14 坐标系 参数坐标系 (

4、u,v) 用来建模曲线、曲面 纹理坐标系 (s,t) 用来识别要被映射的图像上的点 对象或世界坐标系 (x,y,z) or (x,y,z,w) 从概念上说,就是映射发生的地方 屏幕坐标系 (xs,ys) 最终图像生成的地方 15 纹理映射框架 纹理坐标世界坐标屏幕坐标 参数坐标 16 映射函数 基本问题就是如何定义映射 考虑从纹理坐标到曲面上一点的映射 直观地看,应当需要三个函数 x = x(s,t), y = y(s,t), z = z(s,t) 虽然从概念上讲,最 终必定用到上述的函 数,但实际采用的是 却是间接的方法 t s (x,y,z) 17 逆映射 我们需要的是逆向操作 给定一个像

5、素,我们想知道它对应于对象上的哪个点 给定对象上的一个点,我们想知道它对应于纹理中的 哪个点 此时需要如下形式的映射 这样的函数一般是很难求出来的 s = s(x,y,z) t = t(x,y,z) 18 实际困难 假设要计算中心在(xs, ys)的一个矩形像素的颜 色,中心点对应于对象上的点(x,y,z) 如果对象是弯曲的,那么矩形像素的原像是一 个曲边四边形 这个曲边四边形在 纹理上的原像才是 对当前矩形像素的 颜色有贡献的纹理 元素 19 解决方法 先不管如何定义逆映 射,只考虑如何确定 当前像素的颜色(或者 说明暗效果) 一种方法是用当前像 素块的原像的中心对 应的纹理元素的颜色 走样

6、(aliasing) 20 Moir效果 当不考虑像素是有一定的大小时,在图像中会 导致moir效果,即出现波纹 21 “更好”的方法 用在纹理原像周围区域的纹理值的平均值赋给 当前像素 较难实现 也不是完美的 右图经上述处理后 也得不到所需要的 结果 但这个问题来自于低 分辨率的局限 对于包含高频成分的规则纹理,这些问题更加明显 22 映射的确定 考虑由参数方程定义的曲面 p(u,v)=(x(u,v),y(u,v),z(u,v) 通常采用如下线性映射形式把纹素T(s,t) 对应到曲面p(u,v)上的点 u = a s + b t + c, v = d s + e t + f 只要ae bd,

7、 上述映射是可逆的 23 )( )( minmax minmax min min minmax minmax min min vv tt tt vv uu ss ss uu 24 从纹理面片到曲面片的映射 映射的确定 方法的特点 很容易应用 没有考虑曲面的弯曲 为了填充曲面,纹理在不同方向进行了不同拉 伸 25 两步映射 解决映射问题的另外一种方法 首先把纹理映射到一个简单的中间曲面上 例如:映射到圆柱上 26 圆柱面映射 高为h,半径为r圆柱的参数方程是 映射函数: 从纹理坐标到圆柱面上没有变形 适合于构造与无底的圆柱面拓朴同构的曲 面上的纹理 s = u t = v x = r cos 2

8、p u y = r sin 2p u , 0 u,v 1 z = h v 27 球面映射 半径为r的球的参数方程 类似于地图绘制中的映射 肯定有变形 用在环境映射中 x = r cos 2pu y = r sin 2pu cos 2pv , 0 u,v 1 z = r sin 2pu sin 2pv 28 立方体映射 适合应用于正交投影 也用在环境映射中 29 两步映射中的第二个映射 从中间对象到实际对象的映射 从中间对象的法向到实际对象 从实际对象的法向到中间形状 从实际对象的中心开始的向量 30 actual intermediate 其它类型的纹理 立体纹理 31 程序生成的纹理 Procedural texture 32

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号