《gjlchp10真实感图形绘制》由会员分享,可在线阅读,更多相关《gjlchp10真实感图形绘制(80页珍藏版)》请在金锄头文库上搜索。
1、第十章 真实感图形绘制n简单光照明模型n多边形绘制方法n透明n整体光照明模型n光线跟踪算法8/29/20241浙江大学计算机图形学第十章 真实感图形绘制光照模型(Illumination Model):计算某一点的光强度的模型8/29/20242浙江大学计算机图形学真实感图形的特点n能反映物体表面颜色和亮度的细微变化n能表现物体表面的质感n能通过光照下的物体阴影,极大地改善场景的深度感和层次感,充分体现物体间的相互遮挡关系n能模拟透明物体的透明效果和镜面物体的镜面效果8/29/20243浙江大学计算机图形学影响观察者看到的表面颜色的因素物体的几何形状光源 位置、距离、颜色、数量、强度、种类环境
2、 遮挡关系、光的反射与折射、阴影视点位置物性 材料、颜色、透明度 折射性表面光洁度8/29/20244浙江大学计算机图形学光源几何性质n点光源n线光源n面光源光谱组成n白色光等能量的各种波长可见光的组合n彩色光n单色光8/29/20245浙江大学计算机图形学真实感图形学早期发展n1967年,Wylie等人第一次在显示物体时加进光照效果,认为光强与距离成反比。n1970年,Bouknight提出第一个光反射模型:Lambert漫反射环境光n1971年,Gouraud提出漫反射模型加插值的思想n1975年,Phong提出图形学中第一个有影响的光照明模型8/29/20246浙江大学计算机图形学相关物
3、理知识n光的传播n反射定律:入射角等于反射角,而且反射光线、入射光线与法向量在同一平面上 光源 法向量 入射光 反射光 视线 8/29/20247浙江大学计算机图形学折射定律n折射定律:折射线在入射线与法线构成的平面上,折射角与入射角满足8/29/20248浙江大学计算机图形学能量关系n在光的反射和折射现象中的能量分布:n下标为i,d,s,t,v的能量项分别表示为入射光强,漫反射光强,镜面反射光强,透射光强,吸收光强n能量是守恒的8/29/20249浙江大学计算机图形学简单光照明模型模拟物体表面的光照明物理现象的数学模型光照明模型简单光照明模型亦称局部光照明模型,其假定物体是不透明的,只考虑光
4、源的直接照射,而将光在物体之间的传播效果笼统地模拟为环境光。可以处理物体之间光照的相互作用的模型称为整体光照明模型8/29/202410浙江大学计算机图形学简单光照明模型光照射到物体表面,主要发生:反射透射(对透明物体)部分被吸收成热能反射光,透射光决定了物体所呈现的颜色8/29/202411浙江大学计算机图形学简单光照明模型-环境光假定物体是不透明的(即无透射光)n环境光:在空间中近似均匀分布,即在任何位置、任何方向上强度一样,记为Ian环境光反射系数Ka:在分布均匀的环境光照射下,不同物体表面所呈现的亮度未必相同,因为它们的环境光反射系数不同。n光照明方程(仅含环境光):Ie=KaIaIe
5、为物体表面所呈现的亮度。8/29/202412浙江大学计算机图形学简单光照明模型-环境光例子n具有不同环境光反射系数的两个球8/29/202413浙江大学计算机图形学简单光照明模型-环境光n缺点:虽然不同的物体具有不同的亮度,但是同一物体的表面的亮度是一个恒定的值,没有明暗的自然过度。8/29/202414浙江大学计算机图形学简单光照明模型n考虑引入点光源。n点光源:几何形状为一个点,位于空间中的某个位置,向周围所有的方向上辐射等强度的光。记其亮度为Ipn点光源的照射:在物体的不同部分其亮度也不同,亮度的大小依赖于物体的朝向及它与点光源之间的距离.8/29/202415浙江大学计算机图形学简单
6、光照明模型:-漫反射角度余弦的推导n漫反射n粗糙、无光泽物体(如粉笔)表面对光的反射n光照明方程n漫反射的亮度n点光源的亮度n漫反射系数n入射角漫反射光的强度只与入射角有关8/29/202416浙江大学计算机图形学简单光照明模型-漫反射n将环境光与漫反射结合起来一般取Ia= (0.020.2)Idn例子8/29/202417浙江大学计算机图形学简单光照明模型-漫反射缺点:对于许多物体,使用上式计算其反射光是可行的,但对于大多数的物体,如擦亮的金属、光滑的塑料等是不适用的,原因是这些物体还会产生镜面发射。8/29/202418浙江大学计算机图形学简单光照明模型-镜面反射n镜面反射n光滑物体(如金
7、属或塑料)表面对光的反射n高光n入射光在光滑物体表面形成的特别亮的区域8/29/202419浙江大学计算机图形学简单光照明模型-镜面反射n理想镜面反射n观察者只能在反射方向上才能看到反射光,偏离了该方向则看不到任何光。8/29/202420浙江大学计算机图形学简单光照明模型-镜面反射n非理想镜面反射nP为物体表面上一点,L为从P指向光源的单位矢量,N为单位法矢量,R为反射单位矢量,V为从P指向视点的单位矢量光滑平面I = Ip K scosna镜面8/29/202421浙江大学计算机图形学简单光照明模型-镜面反射n镜面反射nIs为镜面反射光强。 点光源的亮度nKs是与物体有关的镜面反射系数。n
8、为镜面反射指数,n越大,则Is随a的增大衰减的越快。nn的取值与表面粗糙程度有关。nn越大,表面越平滑(散射现象少,稍一偏离,明暗亮度急剧下降)nn越小,表面越毛糙(散射现象严重)或8/29/202422浙江大学计算机图形学简单光照明模型-镜面反射n反射方向计算nL在N上的投影矢量为Ncosu,则S+L= Ncosu 记矢量S= Ncosu -L则有R= Ncosu +S8/29/202423浙江大学计算机图形学简单光照明模型-Phong光照明模型n简单光照明模型模拟物体表面对光的反射作用,光源为点光源n反射作用分为n物体间作用用环境光(Ambient Light)n漫反射(Diffuse R
9、eflection)n镜面反射(Specular Reflection)8/29/202424浙江大学计算机图形学简单光照明模型-Phong光照明模型nPhong光照明模型的综合表述:由物体表面上一点P反射到视点的光强I I为环境光的反射光强Ie、理想漫反射光强Id、和镜面反射光Is的总和。8/29/202425浙江大学计算机图形学简单光照明模型-Phong光照明模型的实现n对物体表面上的每个点P,均需计算光线的反射方向。为了减少计算量,假设:n光源在无穷远处,L为常向量n视点在无穷远处,V为常向量n(HN)近似(RV),H为L与V的平分向量N HLRaVbH-L和V的角平分线对所有的点总共只
10、需计算一次H的值,节省了计算时间8/29/202426浙江大学计算机图形学简单光照明模型-Phong光照明模型nPhong模型几何8/29/202427浙江大学计算机图形学简单光照明模型-光的衰减n光的衰减两个阶段:1)从光源到物体表面的过程中的衰减2)从物体表面到人眼过程中的衰减总的效果:物体表面的亮度降低n光照明方程1)有效衰减函数的加入2)深度暗示技术的加入8/29/202428浙江大学计算机图形学简单光照明模型-光的衰减n光的衰减n光在光源到物体表面过程中的衰减n光强按 1/d2 进行衰减:缺点:当d很大时,变化很小;当d很小时,变化很大。n衰减函数n光照明方程8/29/202429浙
11、江大学计算机图形学简单光照明模型-光的衰减n光在物体表面到人眼过程中的衰减n深度暗示(DepthCueing)技术:最初用于线框图形的显示,使距离远的点比近的点暗一些。经过改进,这种技术同样适用于真实感图形显示。n设前参考面Z=Zf,后参考面Z=Zb;其比例因子分别为Sf和Sb(Sf和Sbe0,1)。给定物体上一点的深度值Z0,该点对应的比例因子S0按如下方式确定前参考面后参考面8/29/202430浙江大学计算机图形学简单光照明模型-光的衰减n当Z0Zf时,取S0=Sfn当Z0ht,即qtqi。如果入射角不断增大,到一定的程度,折射角qt =90度,此时透射光线沿着平行于分界面的方向传播,称
12、此时的qi为临界角度,记为qc 。当qi qc时,发生全反射,透射与反射光合二为一。n如何产生带有折射的透明效果呢?8/29/202466浙江大学计算机图形学光透射模型的研究n早期简单透射现象的模拟n1980年,Whitted光透射模型,首次考虑了光线的折射现象n1983年,在Whitted的基础上,Hall光透射模型,考虑了漫透射和规则透射光8/29/202467浙江大学计算机图形学整体光照明模型 简单光照模型(亦称局部光照模型)不考虑周围环境对当前景物表面的光照明影响,忽略了光在环境景物之间的传递,很难表现自然界复杂场景的高质量真实感图形。为了增加图形的真实感,必须考虑环境的漫射、镜面反射
13、和规则投射对景物表面产生的整体照明效果。 8/29/202468浙江大学计算机图形学整体光照明模型n物体表面入射光的构成(1)光源直接照射(2)其它物体的反射光(3)透射光n局部光照明模型仅考虑了(1)8/29/202469浙江大学计算机图形学整体光照明模型n例如:从视点观察到的物体A表面的亮度来源于三方面的贡献:(1)光源直接照射到A的表面,然后被反射到人眼中的光产生的。(2)光源或其它物体的光经A物体折射到人眼中的光产生的。(3)物体B的表面将光反射到物体A的表面,再经物体A的表面反射到人眼中产生的。n局部光照明模型仅考虑了(1)8/29/202470浙江大学计算机图形学Witted光照模
14、型nWhitted光照模型基于如下假设:n物体表面向视点方向V辐射的光亮度Il由三部分组成:(1)光源直接照射引起的反射光亮度Ill。(2)来自V的镜面反射方向R的其它物体反射或折射来的光的亮度Isl。(3)来自V的透射方向T的其它物体反射或折射来的光的亮度Itl8/29/202471浙江大学计算机图形学Witted光照模型nWitted光照模型:Il= Ill+ Ks Isl + KtItln或nIsl为镜面反射方向的入射光强度;Ks为镜面反射系数,为01之间的一个常数nItl为折射方向光强,Kt为透射系数,是0 1之间的常数nIll的计算可采用Phong模型因此,关键是Is和It的计算。如
15、何计算呢?8/29/202472浙江大学计算机图形学Witted光照模型-反射、折射方向计算n已知视线方向V,求其反射方向R与折射方向T(N是表面的法向方向)n视线V的反射方向Rn折射方向T8/29/202473浙江大学计算机图形学光线跟踪算法的基本原理n自然界中光线的传播过程光源物体表面物体表面人眼n光线跟踪过程-光线传播的逆过程8/29/202474浙江大学计算机图形学光线跟踪算法的基本原理n从视点向每个象素发出一条光线,它与场景中的一些物体表面相交,最近的交点即为可见点,记为P,像素的亮度即由P点的亮度确定。由Whitted光照模型可知,P点的亮度由三部分组成:其中Ill可以直接由局部光
16、照模型计算得到。8/29/202475浙江大学计算机图形学光线跟踪算法的基本原理n为了求Isl和Itl,从P点发出反射光线和透射光线,它分别交场景中的物体表面于Ps和Pt,Ps和Pt点的亮度即分别为Isl和Itl ,将它们求出代入Whitted模型即可。但是,Isl和Itl同样由Whitted模型确定,即Whitted模型是一个递归式,从而计算Isl和Itl需要重复以上的计算过程:计算局部光亮度、发出反射光线与透射光线。可以用一棵光线树来表示8/29/202476浙江大学计算机图形学光线跟踪算法的基本原理n递归终止条件:1、光线不与场景中的任何物体相交2、被跟踪的光线达到了给定的层次3、由于K
17、s和Kt都小于1.0,当光线经过反射和折射后,其亮度会衰减。因此可以预先设置一个阈值,在进行光线跟踪时,若被跟踪光线对像素亮度的贡献小于这个阈值,便停止跟踪。8/29/202477浙江大学计算机图形学光线跟踪算法-算法描述设置视点,投影平面以及窗口的参数;For(窗口内的每一条扫描线)for(扫描线上的每一个像素)确定从视点指向像素中心的光线ray;像素的颜色=RayTracing(ray,1);8/29/202478浙江大学计算机图形学光线跟踪算法描述ColorRayTracing(Rayray,intdepth)求ray与物体表面最近的交点P;if(有交点)用局部光照明模型计算P点的Ic;color=Ic;if(depth给定的最大跟踪层次)计算ray的反射光线;Is=RayTracing(反射光线,depth+1);if(物体是透明的)计算ray的透射光线;It=RayTracing(透射光线,depth+1);color=Ic+Is+It;elsecolor=black;returncolor;8/29/202479浙江大学计算机图形学光线跟踪算法优点:能够方便的产生阴影,模拟镜面反射与折射现象。缺点:计算量大,每一条光线都要与场景中的物体进行求交、计算光照模型等。8/29/202480浙江大学计算机图形学