- 1、本文档共286页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
图7.36三角形仿射坐标系令I1、I2、I3和N1、N2、N3分别是三角形三个顶点处的光亮度值和法向量,那么光亮度插值公式可写成:
I(x,y)=(1-α-β)I1+αI2+βI3
=Ax+By+C(7.40)其中:同样,法向量插值公式可写成:其中:式(7.42)和式(7.43)可使用增量法进行计算。首先将屏幕坐标系平移至三角形的中心(xc,yc)处,即
x′=x-xc,y′=y-yc
那么,由式(7.43)有设L是三角形面片的入射光线向量,那么漫反射明暗度Ed=(L0·N0)为(7.42)其中将式(7.42)在(0,0)处按二元Taylor级数展开,取其前三项,得到其中对于镜面反射明暗度Es=(N0·H0),可用类似的方法
计算。但相对来说它更复杂一些。这是由于对一个三角
形面片来说,视线向量V并非常向量。为此,可用三角形三个顶点处的视线向量来线性插值三角形内部点的视线向量,即这时从而若进行进一步优化,每个像素的Phong模型计算耗费可减少为5次加法和一次内存存取,其计算量仅是Gouraud明暗处理方法的一倍,但比传统Phong明暗处理方法提高了4~5倍。这便为在实时系统中应用Phong模型进行明暗处理开辟了新的途径。7.7光线跟踪技术
7.7.1基本光线跟踪算法
光线跟踪技术是从光线投射(raycasting)技术发展而来的。光线投射的基本原理很简单,假设从视点V通过屏幕像素e向场景投射一条光线,与场景中的景物交于点P1,…,Pm(见图7.37),那么离视点最近的点P1就是画面在像素点e处的可见点,像素点e的光亮度应由点P1向方向
P1V辐射的光亮度决定。图7.37光线投射原理为了计算整体环境向P1点辐射的镜面反射光和规则透射
光,从P1点出发向r方向和t方向发射两条光线求得它们与景物的交点Pr和Pt如图7.38(a)所示,计算Pr和Pt点向P1点辐射的光亮度Is和It,代入Whitted光照明模型,即可算出总的光亮度。图7.38光线跟踪过程考虑到被跟踪光线经多次反射和透射后会衰减(由于
ks和kt的作用),也可通过判别跟踪光线对显示像素光亮度
I的贡献是否小于一个阈值来动态控制跟踪深度。设颜色灰度等级为G(通常为255),k为所取阈值,那么凡是对显示像素光亮度I的贡献小于k个灰度等级或者说其贡献系数小于k/G的反射、透射光亮度都没有必要再计算下去。上述思想可整理成算法7.3。上述算法的光线跟踪过程如图7.38(a)所示。这一过程通常用一棵二叉树(称为光线树)来表示。图7.38(b)为图7.38(a)相应的光线树,树上的每一结点(除根结点外)都是对显示像素光亮度有贡献的发光点。位于结点i和结点j之间的边(j为i的子结点)表示发光点j向ji方向辐射的光亮度。每个结点都存有该发光点的ks和kt。7.7.2光线跟踪的求交计算
根据光线跟踪技术的基本原理,为了在N×M显示分辨率的屏幕上生成图形,必须从视点出发通过屏幕向场景发射N×M条光线。设每条光线在场景中经过反射和折射平均派生出d条光线,并设每一景物交点朝光源发射m条阴影探测光线,则总的光线数将增至(m+1)dNM条。当m=2,d=5,N=M=512时,其光线数目是3932160条,即近400万条光线。这意味着需进行近400万次直线与景物的求交计算才能完成图形的绘制。庞大的求交计算量使图形绘制耗费大大增加,生成一幅中等复杂程度的真实感画面需要几个小时甚至几十个小时。若不寻求一种快速的直线与场景的求交方法,光线跟踪技术的实用性将会受到很大限制。光线跟踪的求交计算和场景的复杂程度有密切关系。当场景仅由为数不多的平面和二次曲面片组成时,计算耗费不大。但是较为复杂的场景,常蕴含着成千上万个景物表面,不仅数量多,而且还可能具有复杂的形状与解析表示。若求取光线与场景的交点需与场景中所有景物表面逐个进行求交测试,则计算耗费将大大增加。实际上,一条光线只和场景中极少数景物表面相交,该光线与场景中所有表面逐个做求交运算显然是无意义的。为此,可采用场景的分层次表示和包围盒技术。所谓场景的分层次表示,是指将场景中的所有表面按照组成和景物间的相对位置分层次组织成一棵景物树。树的根结点表示整个场景,而其余结点表示由若干景物表面组成的不同的局部场景。
文档评论(0)