第8章节光照模型.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章节光照模型

在光栅图形系统上显示的三维图形的真实感取决于能否成功地模拟明暗效应,这要求设计较好的明暗模型,用以计算可见表面应该显示的亮度和彩色。 明暗模型并不需要精确地考虑真实世界中光线和表面的性质,而只需要在兼顾精确程度和计算成本的要求下,追求更好的显示效果。通常设计一个明暗模型需要考虑的主要问题是照明特性、表面特性和观察角度。 第三节 阴 影 阴影可以分为本影和半影。 本影:景物表面上未被任何光源直接照射到的区域。 半影:景物表面被部分光源照射但没被全部光源照射到的半明半暗的区域。 点光源:光线由光源出发向四周发散,和场景中物体相比,光源很小且距离景物足够远。 分布式光源:光源与场景中的物体相比不够小,且距景物较近,这时需计算光源外表面各点所共同产生的光照。 单一点光源只能产生本影。而线光源、面光源或分布式光源可同时产生本影和半影。 对于点光源,阴影的计算方法和隐藏面的消除算法可以是完全相同的。对于隐藏面消除算法,是从观察点看,确定哪些表面是可见的。而对于阴影发现算法,是从点光源“看”,确定哪些表面是可见的。从观察点和从点光源都能看见的表面,就是可见的表面。从观察点可见,而从点光源不可见的表面,就在阴影之中。 当要表现一个客体时,可以分别对观察点及各点光源实施同样的消除隐藏面的算法,分别对观察点及各点光源确定出相应的可见部分和不可见部分,然后把所得结果进行整理,正确形成明暗而表现出来。 当要对同一物体从许多不同观察点进行观察时,对所看到的一系列情形,可以只做一次发现阴影的计算,因为当点光源相对物体是固定时,阴影实际上和观察点的位置无关。 1.常数明暗法 常数明暗法又称均匀着色法,就是对每个多边形表面,整个地用一个亮度值(或颜色值)。 应用这种方法,应该有以下假设成立: (1)光源在无穷远处。这样在多边形表面上的任意点,上节讨论过的L·N是常数。 观察者在无穷远处。这样在多边形表面上的任意点,上节讨论过的R·V也是常数。 (3)该多边形表面代替了被模拟的真实表面,而并不是对一个曲面的近似。 如果前面两个假设不管那一个不成立,那么有关的量,例如L和V,可以采用平均值,比方采用在多边形表面中心处求得的值。 假设(3)常常会产生较大误差。这时用来逼近曲面的各多边形表面可能会被分辨出来。由于每个小面与其相邻的小面在亮度上常有差别,所以在显示图形时就能看到这种差别,这种差别由于Mach带效应而得到加强。 Mach带效应是指当亮度发生不连续的突然变化时,看上去会有一种边缘增强的感觉。视觉上会感到边缘的亮侧更亮,暗侧更暗。Mach带效应是一种由人类视觉系统加工处理而产生的一种感受现象。 2.Gouraud方法 亮度(或颜色)插值明暗法,通常被称为Gouraud着色方法。这种方法可以消除多边形面上亮度变化的不连续性,但是不能完全消除由于Mach带效应引起的亮或黑的带。增加逼近空间形体的多边形表面的数目,Mach带效应可以随之减弱。 亮度(或颜色)插值明暗法处理过程有以下四个步骤: (1)计算各多边形表面的法向量。 (2)计算各顶点的法向量。这里顶点的法向,指共享该顶点的所有多边形表面法向的平均值。如果有一条边是作为边界准备显示出来的,可以对这条边的每个顶点,计算两个法向量,每个是一侧各边形表面法向量的平均值。 (3)计算各顶点的亮度。因为各顶点的法向已经求得,所以已经可以利用上节讨论的计算亮度的公式进行计算。 (4)计算各多边形表面上任意点处的亮度值,实行对多边形表面的明暗处理。做法是先利用顶点的亮度值,在边上做线性插值,求得边上的亮度值。再用之在扫描线上做线性插值,从而求得多边形面内任意点处的亮度值。 沿多边形各边的亮度插值可以很容易地与以前讨论过的多边形填充的扫描线算法结合起来。对于每一条边,可以将起始亮度和在y方向上单位长度所发生的亮度变化值存贮起来。 算法运行时,每前进一条扫描线,就对变化值做一次加法。在每条扫描线上,用截得多边形线上的亮度做线性插值。 3.Phong方法 该方法称为法向插值着色方法或Phong着色方法。这个方法是对法向量进行插值,而不是对亮度进行插值。在求得各顶点法向后,求多边形边上各点及多边形面内任意点处法向所用的插值方法,与亮度插值明暗法中进行插值计算的方法相同。因此这个插值也可以很好地应用前面提到的扫描线算法。 求得扫描线上每点的法向量后,在每点处实际计算亮度,可以应用任何一种光照明模型。如果应用镜面反射,比起亮度插值法会得到明显的改进,因为强光能更加真实地得到反映。即使不

文档评论(0)

skvdnd51 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档