科大计算机图形学,中科大-高级计算机图形学8-2

a7f4a3f590493a1e451dd952a488fd7c.gif 中科大-高级计算机图形学8-2

(34页)

cb6abe169b749f10905bff47ec718d4b.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

19.9 积分

高级计算机图形学高级计算机图形学 中国科学技术大学计算机学院 黄章进 [email protected] 回顾 ?OpenGL的明暗处理 ?指定法向量 ?启动明暗处理,设置 光照模型参数 ?观察点、双面光照、 全局环境光 ?指定光源属性 ?颜色、位置、距离衰 减项、聚光灯参数 ?指定材料属性 ?发射光、光洁度、各 种反射率 ?缓冲区 ?颜色、深度、累加、 模板 ?写入模式:XOR ?OpenGL位图和像素 操作 ?像素流水线 ?位图 ?像素 2 第八章之第二节 纹理映射 3 基本内容 ?介绍各种映射方法 ?纹理映射(texture mapping) ?环境映射(environmental mapping) ?凹凸映射(bump mapping) ?考虑基本策略 ?正向映射和逆向映射 ?点采样与区域平均 4 几何建模的局限 ?虽然图形显示卡可以每秒钟显示多达一千 万个多边形,但这个速度仍不能满足模拟 许多自然现象和天然物质的要求 ?云 ?草 ?地貌 ?树皮 ?毛发 ?水波与火焰 5 橙子的模型 ?考虑如何建立橙子的模型 ?用橙色的球表示橙子 ?太简单 ?用更复杂形状代替球 ?没有表示出表面的特性(微凹, dimples) ?为了模拟所有的微凹,需要相当多的多边形 6 橙子的模型(续) ?获取真实橙子的照片,扫描后把结果“粘 贴”到简单的几何模型上 ?这个过程就是纹理映射 ?可能结果仍然不令人满意,因为所得曲面 是光滑的 ?需要改变局部形状 ?凹凸映射 7 三种映射方法 ?纹理映射 ?利用图像填充多边形 ?环境映射(反射映射) ?利用环境的图像进行纹理映射 ?可以模拟高度镜面曲面 ?凹凸映射 ?在生成显示结果的过程中可以改变法向量 8 纹理映射 几何模型纹理映射后 9 环境映射 10 凹凸映射 11 三种映射的共同点 ?作为片段处理的一部分,改变单个片段的 明暗值 ?都与存储为一维、二维或三维数字图像的 贴图有关 ?保持低的几何复杂性,但能产生复杂几何 的视觉效果 ?都可能产生走样误差 12 映射在什么地方进行? ?映射技术是在绘制流水线的最后阶段实现的 ?非常有效,因为在经过所有的操作后,减少了许多不必 要的映射 13 二维纹理 ?纹理:以数组形式存储在处理器内存里的二维 图像,此时数组元素称为纹素(texel) ?由应用程序生成或照片扫描输入 ?把离散数组看成一个连续的二维矩形区域纹理 图案T(s,t),独立变量s和t是纹理坐标 ?一般把纹理坐标缩放到[0,1]区间 14 很容易吗? ?虽然映射的想法很简单,即把图像映射到曲面 上,但由于这时要用到三、四个坐标系,因此 实现起来并不容易 二维图像 三维曲面 15 坐标系 ?参数坐标系 ?可以用来建立曲线、曲面 ?纹理坐标系 ?用来识别要被映射的图像上的点 ?世界坐标系 ?从概念上说,就是映射发生的地方 ?屏幕坐标系 ?最终图像生成的地方 16 纹理映射框架 纹理坐标世界坐标屏幕坐标 参数坐标 17 映射函数 ?基本问题就是如何定义映射 ?考虑从纹理坐标到曲面上一点的映射 ?直观地看,应当需要三个函数 x = x(s,t), y = y(s,t), z=z(s,t) ?虽然从概念上讲,最 终必定用到上述的函 数,但实际采用的是 却是间接的方法 t s (x,y,z) 18 逆映射 ?我们需要的是逆向操作 ?给定一个像素,我们想知道它对应于对象上的哪个点 ?给定对象上的一个点,我们想知道它对应于纹理中的 哪个点 ?此时需要如下形式的映射 ?这样的函数一般是很难求出来的 s = s(x,y,z) t = t(x,y,z) 19 实际困难 ?假设要计算中心在(xs, ys)的一个矩形像素的颜 色,中心点对应于对象上的点(x,y,z) ?如果对象是弯曲的,那么矩形像素的原像是一 个曲边四边形 ?这个曲边四边形在 纹理上的原像才是 对当前矩形像素的 颜色有贡献的纹理 元素 20 走样现象 ?先不管如何定义逆映 射,只考虑如何确定 当前像素的颜色(或者 说明暗效果) ?一种方法是用当前像 素块的原像的中心对 应的纹理元素的颜色 ?走样(aliasing) 21 Moiré效果 ?当不考虑像素是有一定的大小时,在图像中会 导致moiré效果,即出现波纹 22 “更好”的方法 ?用在纹理原像上对应区域的明暗效果的平均值 赋给当前像素 ?很难实现 ?也不是完美的 ?右图经上述处理后 也得不到所需要的 结果 ?但这个问题来自于低 分辨率的局限 ?对于规则纹理,这种效果非常明显 23 映射的确定 ?考虑由参数方程定义的曲面 p(u,v)=(x(u,v),y(u,v),z(u,v)) ?此时通常采用如下形式从纹理元素对应到 曲面上的点 u = as + bt + c, v = ds + et + f ?只要ae ≠ bd, 上述映射是可逆的 24 )( )( minmax minmax min min minmax minmax min min vv tt tt vv uu ss ss uu ? ? ? += ? ? ? += 25 方法的特点 ?很容易应用 ?没有考虑曲面的弯曲 ?为了填充曲面,纹理在不同方向进行了不同拉 伸 26 两步映射 ?解决映射问题的另外一种方法 ?首先把纹理映射到一个简单的中间曲面上 ?例如:映射到圆柱上 27 圆柱面映射 ?高为h,半径为r圆柱的参数方程是 ?映射函数: ?从纹理坐标到圆柱面上没有变形 ?适合于构造与无底的圆柱面拓朴同构的曲 面上的纹理 s = u t = v x = r cos 2π u y = r sin 2πu , 0 ≤ u,v ≤ 1 z = h v 28 球面映射 ?半径为r的球的参数方程 ?类似于地图绘制中的映射 ?肯定有变形 ?用在环境映射中 x = r cos 2πu y = r sin 2πu cos 2πv , 0 ≤ u,v ≤ 1 z = r sin 2πu sin 2πv 29 立方体映射 ?适合应用于正交投影 ?也用在环境映射中 30 两步映射中的第二个映射 从中间对象到实际对象的映射 ?从中间形状的法向到实际对象 ?从实际对象的法向到中间形状 ?从实际对象的中心开始的向量 31 其它类型的纹理 ?立体纹理 32 程序生成的纹理 ?Procedural texture 33 34 关 键 词: 中科大 高级 计算机 图形学

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值