CG-LEC9-真实感图形学_第1页
CG-LEC9-真实感图形学_第2页
CG-LEC9-真实感图形学_第3页
CG-LEC9-真实感图形学_第4页
CG-LEC9-真实感图形学_第5页
已阅读5页,还剩120页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Computer Computer GraphicsGraphics计算机学院软件教研室Lec 10 真实感图形学李晓宁Computer Computer GraphicsGraphics2022-5-22主要内容简单光照明模型多边形绘制方法透明整体光照明模型光线跟踪算法Computer Computer GraphicsGraphics2022-5-23光照模型光照模型(Illumination Model):计算某一点的光强度的模型Computer Computer GraphicsGraphics2022-5-24真实感图形的特点能反映物体表面颜色和亮度的细微变化能表现物体表面的质感能通

2、过光照下的物体阴影,极大地改善场景的深度感和层次感,充分体现物体间的相互遮挡关系能模拟透明物体的透明效果和镜面物体的镜面效果Computer Computer GraphicsGraphics2022-5-25影响观察者看到的表面颜色的因素物体的几何形状光源 位置、距离、颜色、数量、强度、种类环境 遮挡关系、光的反射与折射、阴影视点位置物性 材料、颜色、透明度 折射性表面光洁度Computer Computer GraphicsGraphics2022-5-26光源几何性质点光源线光源面光源光谱组成白色光:等能量的各种波长可见光的组合彩色光单色光Computer Computer Graphi

3、csGraphics2022-5-27真实感图形学早期发展1967年,Wylie等人第一次在显示物体时加进光照效果,认为光强与距离成反比1970年,Bouknight提出第一个光反射模型:Lambert漫反射环境光1971年,Gouraud提出漫反射模型加插值的思想1975年,Phong提出图形学中第一个有影响的光照明模型Computer Computer GraphicsGraphics2022-5-28相关物理知识光的传播反射定律:入射角等于反射角,而且反射光线、入射光线与法向量在同一平面上Computer Computer GraphicsGraphics2022-5-29折射定律折射定

4、律:折射线在入射线与法线构成的平面上,折射角与入射角满足sinsin21Computer Computer GraphicsGraphics2022-5-210能量关系在光的反射和折射现象中的能量分布:下标为i,d,s,t,v的能量项分别表示为入射光强,漫反射光强,镜面反射光强,透射光强,吸收光强能量是守恒的idstvIIIIIvtsdiIIIIIComputer Computer GraphicsGraphics2022-5-211简单光照明模型光照明模型:模拟物体表面的光照明物理现象的数学模型简单光照明模型亦称局部光照明模型,其假定物体是不透明的,只考虑光源的直接照射,而将光在物体之间的传

5、播效果笼统地模拟为环境光。可以处理物体之间光照的相互作用的模型称为整体光照明模型Computer Computer GraphicsGraphics2022-5-212简单光照明模型光照射到物体表面,主要发生:反射透射(对透明物体)部分被吸收成热能反射光,透射光决定了物体所呈现的颜色Computer Computer GraphicsGraphics2022-5-213简单光照明模型-环境光 假定物体是不透明的(即无透射光)环境光:在空间中近似均匀分布,即在任何位置、任何方向上强度一样,记为Ia环境光反射系数Ka:在分布均匀的环境光照射下,不同物体表面所呈现的亮度未必相同,因为它们的环境光反射

6、系数不同。光照明方程(仅含环境光):Ie = KaIa Ie为物体表面所呈现的亮度。Computer Computer GraphicsGraphics2022-5-214简单光照明模型- 环境光例子具有不同环境光反射系数的两个球1.0aI 0.4aK 0.8aK Computer Computer GraphicsGraphics2022-5-215简单光照明模型-环境光缺点:虽然不同的物体具有不同的亮度,但是同一物体的表面的亮度是一个恒定的值,没有明暗的自然过度。Computer Computer GraphicsGraphics2022-5-216简单光照明模型考虑引入点光源点光源:几何

7、形状为一个点,位于空间中的某个位置,向周围所有的方向上辐射等强度的光.记其亮度为Ip点光源的照射:在物体的不同部分其亮度也不同,亮度的大小依赖于物体的朝向及它与点光源之间的距离.Computer Computer GraphicsGraphics2022-5-217简单光照明模型-漫反射角度余弦的推导漫反射粗糙、无光泽物体(如粉笔)表面对光的反射光照明方程漫反射的亮度点光源的亮度漫反射系数入射角漫反射光的强度只与入射角有关2, 0cosdpdKIIdIpIdKComputer Computer GraphicsGraphics2022-5-218简单光照明模型-漫反射将环境光与漫反射结合起来一

8、般取Ia= (0.020.2)Ip例子()edaapdIIII KI KL NComputer Computer GraphicsGraphics2022-5-219简单光照明模型-漫反射缺点:对于许多物体,使用上式计算其反射光是可行的,但对于大多数的物体,如擦亮的金属、光滑的塑料等是不适用的,原因是这些物体还会产生镜面反射。Computer Computer GraphicsGraphics2022-5-220简单光照明模型-镜面反射镜面反射光滑物体(如金属或塑料)表面对光的反射高光入射光在光滑物体表面形成的特别亮的区域Computer Computer GraphicsGraphics20

9、22-5-221简单光照明模型-镜面反射理想镜面反射观察者只能在反射方向上才能看到反射光,偏离了该方向则看不到任何光。Computer Computer GraphicsGraphics2022-5-222简单光照明模型-镜面反射非理想镜面反射P为物体表面上一点,L为从P指向光源的单位矢量,N为单位法矢量,R为反射单位矢量,V为从P指向视点的单位矢量 光滑平面I = Ip K scosna镜面Computer Computer GraphicsGraphics2022-5-223简单光照明模型-镜面反射镜面反射Is为镜面反射光强. 点光源的亮度Ks是与物体有关的镜面反射系数.n为镜面反射指数,

10、n越大,则Is随 的增大衰减的越快n的取值与表面粗糙程度有关n越大,表面越平滑(散射现象少,稍一偏离,明暗亮度急剧下降)n越小,表面越毛糙(散射现象严重)cosnspsII KnspsRVKII)(或pIComputer Computer GraphicsGraphics2022-5-224角度余弦值随n的增大而衰减Computer Computer GraphicsGraphics2022-5-225简单光照明模型-镜面反射反射方向计算L在N上的投影矢量为 则 记矢量 则有cosNLLNNLNR2cos2NRLVSScosNcosSLNcosSNLcosRNSComputer Compute

11、r GraphicsGraphics2022-5-226简单光照明模型-Phong光照明模型简单光照明模型模拟物体表面对光的反射作用,光源为点光源反射作用分为物体间作用环境光(Ambient Light)漫反射(Diffuse Reflection)镜面反射(Specular Reflection)Computer Computer GraphicsGraphics2022-5-227简单光照明模型-Phong光照明模型Phong光照明模型的综合表述:由物体表面上一点P反射到视点的光强I I为环境光的反射光强Ie、理想漫反射光强Id、和镜面反射光Is的总和。()() edsnaapdsIIII

12、I KIKL NK V RComputer Computer GraphicsGraphics2022-5-228简单光照明模型-Phong光照明模型的实现对物体表面上的每个点P,均需计算光线的反射方向.为了减少计算量,假设:光源在无穷远处,L为常向量视点在无穷远处,V为常向量(HN)近似(RV),H为L与V的平分向量N HLRaVbH: L和V的角平分线对所有的点总共只需对所有的点总共只需计算一次计算一次H的值,节省的值,节省了计算时间了计算时间Computer Computer GraphicsGraphics2022-5-229简单光照明模型-光的衰减光的衰减两个阶段:1)从光源到物体表

13、面的过程中的衰减2)从物体表面到人眼过程中的衰减总的效果:物体表面的亮度降低光照明方程有效衰减函数的加入深度暗示技术的加入Computer Computer GraphicsGraphics2022-5-230简单光照明模型-光的衰减光的衰减光在光源到物体表面过程中的衰减光强按 1/d2 进行衰减:缺点:当d很大时,变化很小;d很小时,变化很大衰减函数光照明方程20121( )min(,1)f dcc dc d( )()() naapdsII Kf d IKL NK V RComputer Computer GraphicsGraphics2022-5-231简单光照明模型-光的衰减光从物体表

14、面到人眼过程中的衰减深度暗示(Depth Cueing)技术:最初用于线框图形的显示,使距离远的点比近的点暗一些.经过改进,这种技术同样适用于真实感图形显示设前参考面Z=Zf,后参考面Z=Zb;其比例因子分别为Sf和Sb( Sf和Sb e0,1).给定物体上一点的深度值Z0,该点对应的比例因子S0按如下方式确定前参考面后参考面Computer Computer GraphicsGraphics2022-5-232简单光照明模型-光的衰减当Z0 Zf时,取S0=Sf当Z0 t, 即ti。如果入射角不断增大,到一定的程度,折射角t 90度,此时透射光线沿着平行于分界面的方向传播,称此时的i为临界角

15、度,记为c 。当i c时,发生全反射,透射与反射光合二为一如何产生带有折射的透明效果呢?Computer Computer GraphicsGraphics2022-5-265光透射模型的研究早期简单透射现象的模拟1980年,Whitted光透射模型,首次考虑了光线的折射现象1983年,在Whitted的基础上,Hall光透射模型,考虑了漫透射和规则透射光Computer Computer GraphicsGraphics2022-5-266整体光照明模型 简单光照模型(亦称局部光照模型)不考虑周围环境对当前景物表面的光照明影响,忽略了光在环境景物之间的传递,很难表现自然界复杂场景的高质量真实

16、感图形。为了增加图形的真实感,必须考虑环境的漫射、镜面反射和规则透射对景物表面产生的整体照明效果。 Computer Computer GraphicsGraphics2022-5-267整体光照明模型物体表面入射光的构成(1)光源直接照射(2)其它物体的反射光(3)透射光局部光照明模型仅考虑了(1)Computer Computer GraphicsGraphics2022-5-268整体光照明模型例如:从视点观察到的物体A表面的亮度来源于三方面的贡献:(1)光源直接照射到A的表面,然后被反射到人眼中的光产生的。(2)光源或其它物体的光经A物体折射到人眼中的光产生的。(3)物体B的表面将光反

17、射到物体A的表面,再经物体A的表面反射到人眼中产生的。局部光照明模型仅考虑了(1)Computer Computer GraphicsGraphics2022-5-269Whitted光照模型Whitted光照模型基于如下假设:物体表面向视点方向V辐射的光亮度I由三部分组成:(1)光源直接照射引起的反射光亮度Il。(2)来自V的镜面反射方向R的其它物体反射或折射来的光的亮度Is。(3)来自V的透射方向T的其它物体反射或折射来的光的亮度ItComputer Computer GraphicsGraphics2022-5-270Whitted 光照模型Whitted光照模型:I= Il + Ks

18、Is + KtIt或Is为镜面反射方向的入射光强度;Ks为镜面反射系数,为01之间的一个常数It为折射方向光强,Kt为透射系数,是0 1之间的常数Il的计算可采用Phong模型因此,关键是Is和It的计算.如何计算呢?lssstttIIK C IK C IComputer Computer GraphicsGraphics2022-5-271Whitted光照模型-反射、折射方向计算已知视线方向V,求其反射方向R与折射方向T(N是表面的法向方向)视线V的反射方向R折射方向TNVRLTiititVVNNR)(2INTtiti)coscos(令Computer Computer GraphicsG

19、raphics2022-5-272光线跟踪算法的基本原理自然界中光线的传播过程光源物体表面物体表面人眼光线跟踪过程-光线传播的逆过程Computer Computer GraphicsGraphics2022-5-273光线跟踪算法的基本原理从视点向每个象素发出一条光线,它与场景中的一些物体表面相交,最近的交点即为可见点,记为P.像素的亮度即由P点的亮度确定.由Whitted光照模型可知,P点的亮度由三部分组成:其中Il可以直接由局部光照模型计算得到Computer Computer GraphicsGraphics2022-5-274Computer Computer GraphicsGra

20、phics2022-5-275光线跟踪算法的基本原理为了求Is和It,从P点发出反射光线和透射光线,它分别交场景中的物体表面于Ps和Pt,Ps和Pt点的亮度即分别为Is和It ,将它们求出代入Whitted模型即可。但是,Is和It同样由Whitted模型确定,即Whitted模型是一个递归式,从而计算Is和It需要重复以上的计算过程:计算局部光亮度、发出反射光线与透射光线。可以用一棵光线树来表示Computer Computer GraphicsGraphics2022-5-276Computer Computer GraphicsGraphics2022-5-277光线跟踪算法的基本原理递

21、归终止条件:1、光线不与场景中的任何物体相交2、被跟踪的光线达到了给定的层次3、由于Ks和Kt都小于1,当光线经过反射和折射后,其亮度会衰减。因此可以预先设置一个阈值,在进行光线跟踪时,若被跟踪光线对像素亮度的贡献小于这个阈值,便停止跟踪。Computer Computer GraphicsGraphics2022-5-278光线跟踪算法-算法描述设置视点,投影平面以及窗口的参数;For (窗口内的每一条扫描线) for (扫描线上的每一个像素) 确定从视点指向像素中心的光线ray; 像素的颜色=RayTracing(ray,1); Computer Computer GraphicsGrap

22、hics2022-5-279光线跟踪算法描述Color RayTracing(Ray ray, int depth) 求ray与物体表面最近的交点P; if (有交点) 用局部光照明模型计算P点的Ic; color = Ic; if (depth给定的最大跟踪层次) 计算ray的反射光线; Is=RayTracing(反射光线,depth+1); if (物体是透明的) 计算ray的透射光线; It=RayTracing(透射光线,depth+1); color = Ic + Is + It ; else color = black; return color ;Computer Comput

23、er GraphicsGraphics2022-5-280光线跟踪算法根据光线跟踪基本原理,假设在显示分辨率为NM的屏幕上生成图形,必须从视点出发通过屏幕向景物发射NM条光线.设每根光线在场景中经过反射和折射平均派生出d根光线,并设每一景物交点朝光源发射m条阴影探测光线,则总的光线数增加至(m+1)dNM.当m为2,d为5,N为800,M为600时,其光线数目是720万条.这意味着需进行720万次直线与景物的求交计算才能完成图形的绘制,庞大的求交量使图形绘制耗费大大增加.生成一幅中等复杂程度的真实感图形需要数分钟至数小时 Computer Computer GraphicsGraphics20

24、22-5-281光线跟踪算法 优点: 能够方便的产生阴影,模拟镜面反射与折射现象. 缺点: 计算量大,每一条光线都要与场景中的物体进行求交、计算光照模型等.Computer Computer GraphicsGraphics2022-5-282纹理的概述用简单光照明模型生成真实感图象,由于表面过于光滑单调,反而显得不真实现实物体表面有各种表面细节纹理木材表面的木纹建筑物墙壁上的装饰图案桔子皮表面的皱纹Computer Computer GraphicsGraphics2022-5-283示例纹理 Computer Computer GraphicsGraphics2022-5-284模型 Co

25、mputer Computer GraphicsGraphics2022-5-285映射 Computer Computer GraphicsGraphics2022-5-286纹理纹理是物体表面的细小结构纹理类型颜色纹理,二维纹理,物体表面花纹、图案三维纹理,木材纹理几何纹理,基于物体表面的微观几何形状法向扰动Computer Computer GraphicsGraphics2022-5-287纹理映射纹理映射是把纹理图象值映射到三维物体的表面的技术纹理映射的问题改变物体的属性,可以产生纹理的效果,对简单光照明模型而言改变漫反射系数来改变物体的颜色改变物体表面的法向量Computer Co

26、mputer GraphicsGraphics2022-5-288纹理定义方法:图象纹理:将二维纹理图案映射到三维物体表面,绘制物体表面上一点时,采用相应的纹理图案中相应点的颜色值。函数纹理:用数学函数定义简单的二维纹理图案,如方格地毯。或用数学函数定义随机高度场,生成表面粗糙纹理即几何纹理进行纹理映射建立纹理与三维物体之间的对应关系扰动法向量Computer Computer GraphicsGraphics2022-5-289原始模型 Computer Computer GraphicsGraphics2022-5-290二维纹理 Computer Computer GraphicsGra

27、phics2022-5-291几何纹理 Computer Computer GraphicsGraphics2022-5-292综合 Computer Computer GraphicsGraphics2022-5-293三维纹理Computer Computer GraphicsGraphics2022-5-294物体表面细节的模拟物体表面的细节可以分为两类一类是由物体表面颜色色彩、明暗变化体现出来的细节,如光滑瓷砖表面上装饰图案,它主要取决于物体表面的材质属性;一类是由物体表面不规则的细小凹凸造成的细节,如桔子表面的皱纹,它主要取决于物体本身的几何形状。Computer Computer

28、GraphicsGraphics2022-5-295将图绘制到光滑的四分之 一圆柱体上之后的效果Computer Computer GraphicsGraphics2022-5-296在计算机中描述物体材质属性、几何形状的细节很难,如果只追求看起来象就可以了,可以通过纹理映射的方式生成物体表面的细节。纹理映射可以分为:颜色纹理映射和几何纹理映射。颜色纹理映射用来在光滑表面上产生花纹图案的效果,几何纹理映射用来使物体表面产生凹凸不平的效果。一般地讲,利用纹理映射可以在不增加场景描述复杂度,不显著增加计算量的前提下,大幅度地提高图形的真实感Computer Computer GraphicsGra

29、phics2022-5-297纹理算法原理纹理算法原理在光滑表面上绘制花纹其实是花纹映射在物体表面上的结果.这一映射可以简单的用一个坐标系到另一个坐标系的变换来描述:假设在纹理空间中的一个正交坐标系(u,w)中定义花纹和图案,而在对象空间或图像空间中的另一个正交坐标系(,)中定义物体的表面在表面上绘制花纹便需要在两个正交坐标系中定义一个映射函数,即=f(u,w), =g(u,w) 或 u=r(,), w=s(,)Computer Computer GraphicsGraphics2022-5-298纹理算法原理纹理算法原理一般考虑的映射函数为一个线性函数:=Au+B,=Cw+D这里A,B,C,

30、D为常数,可由两个坐标系中的已知点间的对应关系而求得Computer Computer GraphicsGraphics2022-5-299颜色纹理映射的三个主要步骤纹理函数定义;映射函数定义;纹理映射的实施; evenvuoddvuvug881880),(Computer Computer GraphicsGraphics2022-5-2100颜色纹理映射技术 纹理图案 (a) 纹理定义域 (b) 物体表面 映射函数的建立Computer Computer GraphicsGraphics2022-5-2101例如,上图所示图案将映射到下图所示第一象限中的球面片上,图案由二维网格构成.球面参

31、数方程为: x=sinsin (0/2, y=cossin /4/2) z=cosComputer Computer GraphicsGraphics2022-5-2102设网格图案的四角分别映射到球面四边形的四角上,即u=0,w=0映射到=0,=/2u=1,w=0映射到=/2,=/2u=0,w=1映射到=0, =/4u=1,w=1映射到=/2,=/4可得A=/2,B=0,C=-/4,D=/2对应的映射函数为:=u/2,=/2-w/4;该映射函数将uw空间中的图案映射到空间, 再按球面参数方程把空间中的图案变换到xyz坐标系中Computer Computer GraphicsGraphics

32、2022-5-2103几何纹理几何纹理方法对物体表面几何性质作微小扰动,产生凹凸不平的细节效果,给物体表面图象加上一个粗糙的外观物体表面上的每一个点P(u,v),都沿该点处的法向量方向位移F(u,v)个单位长度,新表面位置:),(*),(),(),(vuNvuFvuPvuPComputer Computer GraphicsGraphics2022-5-2104通过对两个偏导数求叉积得到F相对很小,忽略不计,有vvvvuuuuvuFNNFPdvFNPdPFNNFPduFNPdPPPN)()()()()()()(NNFFNPFPNFPPNFPNFPNvuuvvuvuvvuu新表面法向量计算Com

33、puter Computer GraphicsGraphics2022-5-2105几何纹理实现扰动后的法向量单位化,用于计算曲面的明暗度,产生凹凸不平的几何纹理F的偏导数的计算,可以用中心差分实现几何纹理函数定义可以用统一的图案纹理记录图案中较暗的颜色对应较小F值,较亮的颜色对应较大F值,把各象素的值一个二维数组记录下来,就是几何纹理统一表示Computer Computer GraphicsGraphics2022-5-2106纹理映射例子地板与墙都是经过二维图象纹理映射后的平面Computer Computer GraphicsGraphics2022-5-2107Computer Co

34、mputer GraphicsGraphics2022-5-2108Computer Computer GraphicsGraphics2022-5-2109Computer Computer GraphicsGraphics2022-5-2110Computer Computer GraphicsGraphics2022-5-2111Computer Computer GraphicsGraphics2022-5-2112Computer Computer GraphicsGraphics2022-5-2113Computer Computer GraphicsGraphics2022-5-

35、2114阴影的生成阴影是现实生活中一个很常见的光照现象.在真实感图形学中,通过阴影可以反映出物体之间的相互位置关系,增加图形图像的立体效果,极大地增强真实感。.阴影可以分为本影和半影本影是指物体表面上那些没有被任何光源直接照射到的部分半影是指物体表面上那些被某些特定光源或特定光源的一部分直接照射到,但不是被所有光源直接照射到的部分。 Computer Computer GraphicsGraphics2022-5-2115Computer Computer GraphicsGraphics2022-5-2116场景绘制时,先利用消隐技术确定物体表面的可见部分或者是像素所对应的物体表面上的可见点

36、,然后应用光照模型计算物体表面上可见点的亮度,这时如果根据光源是否可以直接照射到物体表面上当前可见点来取舍光源的照明效果,则绘制出来的图像具有阴影的效果。 Computer Computer GraphicsGraphics2022-5-2117光线投射算法和光线追踪算法可以用于阴影的生成对光线投射算法而言,如果光源不能直接照射到像素所对应的物体表面上的可见点,则物体表面上当前可见点的亮度只包含环境光反射项对光线追踪算法而言,如果光源不能直接照射到当前追踪到的物体表面上的点,则该点反射的光亮度只包括简单光照模型中的环境光反射项、来自其它物体经当前表面镜面反射的光亮度、来自其他物体经当前表面规则透射的光亮度Computer Computer GraphicsGraphics2022-5-2118用OpenGL生成真实感图形OpenGL图形库真实感图形绘制功能隐藏面消除光照计算纹理映射Computer Computer GraphicsGraphics2022-5-2119消除隐藏面OpenGL中隐藏面的消除采用的是Z缓冲器算法.打开深度测试 glEnable(GL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论