真实感光照效果.ppt

上传人:小飞机 文档编号:5804306 上传时间:2023-08-21 格式:PPT 页数:85 大小:5.49MB
返回 下载 相关 举报
真实感光照效果.ppt_第1页
第1页 / 共85页
真实感光照效果.ppt_第2页
第2页 / 共85页
真实感光照效果.ppt_第3页
第3页 / 共85页
真实感光照效果.ppt_第4页
第4页 / 共85页
真实感光照效果.ppt_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《真实感光照效果.ppt》由会员分享,可在线阅读,更多相关《真实感光照效果.ppt(85页珍藏版)》请在三一办公上搜索。

1、真实感图形建模与绘制,第二讲 真实感光照模型视相关绘制方法,Global Illumination,Extends the Local Illumination Model to include:Reflection(one object in another)Refraction(Snells Law)Transparency(better model)Shadows(at point,check each light source)Antialiasing(usually means supersampling),Wireframe view of a test scene.,Orthog

2、raphic view from above,Locally illuminated test scene.,Ambient term only,Locally illuminated test scene.,Phong shading.Ambient and Diffuse terms only,Locally illuminated test scene.,Phong shading.Ambient,diffuse andSpecular terms.,Notes:Highlight on wall from light is in the wrong place,Comparison.,

3、Flat,Gouraud,Phong,Coarser mesh,Use Local illumination.,No.In our test scene,we cant represent:MirrorChrome teapot.Shiny floorShadows with local illumination.,Test Scene.,High quality rendering of test scene.,Note:Mirror and chrome teapot.Shadows on floor.Shiny floor.,Global illumination.,Two method

4、s:View dependent methods.Calculate the view from the camera with global illumination.Recursive ray-tracing.View independent methods.Solve lighting for the entire scene.Radiosity solution.,View dependent methods.,Loop round the pixels.Good for lighting effects which have a strong dependence on view l

5、ocation:Specular highlights.Reflections from curved surfaces.Only a small number of objects need to be considered at the same time.Poor when many objects need to be considered E.g diffuse interactions(eg.colour bleeding).,View independent methods.,Loop round the sceneGood when many(all)objects need

6、to be considered at same time.Diffuse inter-reflections.Poor when shading has strong dependence on view location.Specular reflection.,真实感图形建模与绘制,视相关绘制方法,Ray-Tracing:Why Use It?,Simulate rays of lightProduces natural lighting effects,Ray-tracing easier to implement,Ray-Tracing:Why Use It?,Simulate ra

7、ys of lightProduces natural lighting effectsReflection,Ray-Tracing:Why Use It?,Refraction,caustics,Ray-Tracing:Why Use It?,Simulate rays of lightProduces natural lighting effectsSoft shadows,Ray-Tracing:Why Use It?,Simulate rays of lightProduces natural lighting effectsdepth of field,motion blur,Whi

8、tted 模型,特点:整体光照模型的典型代表;与光线跟踪技术密不可分;考虑了光源在物体表面的直接照射产生的光亮度,同时还考虑了环境光在镜面反射方向和规则透射方向对被照射点产生的光能贡献;其他方向的环境光对照射点的影响仍用一常数泛光项来模拟。,Whitted 模型,计算方法:,Whitted模型采用递归跟踪的方法来求解Ir,It,Ir:来自环境光的反射光亮度;kr:入射点的镜面反射系数,It:来自环境光的透射光亮度;kt:入射点的透射系数,Ray Tracing,标准Ray Tracing算法 假设:光线是一根没有大小的直线,即数学意义上的直线;物体表面是完全光滑的,光在表面的反射遵循镜面反射和

9、规则透射的规律。这两个假设使得光线跟踪算法生成的图形中含有轮廓清楚的多重反射效果,Ray Tracing,由于从光源发出的光线有无穷条,直接从光源出发对光线进行跟踪非常困难;,Ray Tracing,实际上,从光源发出的光线只有少数经由场景中物体表面之间的反射和透射后到达观察者的眼中;标准光线跟踪算法采用逆向跟踪技术来完成整个绘制过程,Ray Tracing,算法思路:从视点出发,通过图像平面上每个像素中心向场景中发出一条光线;判断:若光线与场景中物体无相交,则光线将射出画面,跟踪结束;否则,光线与物体相交;光线在离视点最近的景物表面交点出的走向有三种可能:当前交点所在的景物表面为理想漫反射面

10、,跟踪结束;当前所在的景物表面为理想镜面,光线沿其镜面反射方向继续跟踪;当前交点所在的景物表面为规则透面,光线沿其规则透射方向继续跟踪。上述步骤是一个递归过程。,Ray Tracing,继续跟踪以下三条光线:Towards Light Source(s):shadow rays.L(shadow feelers)In the reflection direction:reflection rays,RIn a direction dictated by Snells Law:transmitted rays,T,The Ray Tree,R2,R1,R3,L2,L1,L3,N1,N2,N3,T

11、1,T3,Ni surface normalRi reflected rayLi shadow rayTi transmitted(refracted)ray,Eye,L1,T3,R3,L3,L2,T1,R1,R2,Eye,Complexity?,Recursive ray tree.,Reflection and Transmission Rays spawn other rays.The plete set of rays is called a Ray Tree.,Viewpoint,Light Source ray determines colour of current object

12、.,Test Scene.,Ray tree depth 1.Note only ambient shade on mirror and teapot,Test Scene.,Ray tree depth 2.Note only ambient shade on reflection of mirror and teapot.,Test Scene.,Ray tree depth 3.Note only ambient shade on reflection of mirror in teapot.,Test Scene.,Ray tree depth 4.Note ambient shade

13、 on reflection of teapot in reflection of mirror in teapot.,Test Scene.,Ray tree depth 5.,Test Scene.,Ray tree depth 6.,Test Scene.,Ray tree depth 7.,When to stop?,Need to know when to stop the recursion.Can define a fixed depth.Hall introduced adaptive tree depth control.Calculate maximum contribut

14、ion of a ray to a pixels final value.Multiply contribution of rays ancestors down the tree.Stop when below some threshold,perhaps stack overflow.,Adaptive tree depth control.,Viewpoint,0.3,0.2,Adaptive tree depth control.,Viewpoint,0.3*0.2,0.2*0.2,0.3,0.2,标准光线跟踪算法,TraceRay(VECTOR Start,VECTOR Direct

15、ion,int Depth,COLOR Color)VECTOR IntersectionPoint,ReflectedDirection,TransmittedDirection;COLOR LocalColor,ReflectedColor,TransmittedColor;If(DepthMAXDEPTH)Color=black;Else 取Start为起点,方向为Direction的光线S为跟踪光线,用它与场景中的景物进行求交测试;if(无交)Color=BackgroundColor;else计算离起始点Start最近的交点IntersectionPoint;Shade(Inters

16、ectionObject,IntersectionPoint,LocalColor);确定IntersectionPoint所在表面镜面反射系数ks,透射系数kt;if(IntersectionPoint所在的表面为镜面)计算跟踪光线S在IntersectionPoint处的反射光线方向ReflectedDirection;TraceRay(ntersectionPoint,ReflectedDirection,Depth+1,ReflectedColor);,标准光线跟踪算法,if(IntersectionPoint所在的表面为透明面)计算跟踪光线S在IntersectionPoint处的规

17、则透射光线方向TransmittedDirection;TraceRay(IntersectionPoint,TransmittedDirection,Depth+1,TransmittedColor);Color=LoaclColor+ks*ReflectedColor+kt*TransmittedColor;,标准光线跟踪算法,用局部光照模型计算交点IntersectionPoint处的局部光亮度LocalColorShade(OBJECT IntersectionObject,VECTOR IntersecctionPoint,COLOR LocalColor)确定Intersectio

18、nObject在IntersectionPoint处的单位法向量N,漫反射系数kd,镜面反射系数ks,环境反射系数ka;LocalColor=ka*Ia;For(每一个点光源PointLight)计算入射光线单位向量L和虚拟镜面单位法向量H;由Phong模型计算光源PointLight在IntersectionPoint处的漫反射和镜面反射光亮度;LocalColor+=(Ipointlight*(kd*(N.L)+ks*(N.H)n);,光线跟踪几何,1.反射光线方向与折射光线方向的确定2.光线与景物表面的求交方法光线与球面的交光线与多边形的交光线与长方体的交光线与三角形的交光线与二次曲面的

19、交光线与一般柱面的交光线与旋转面的交光线与代数曲面的交光线与metaball曲面的交光线与参数曲面的交,Local illumination vs.Global,In both an object hit by a ray,if lit by a light source,is illuminated by a local illumination model,i.e with specular,diffuse&ambient terms.Global:a reflected ray,and a transmission ray(if appropriate)are also cast int

20、o the scene.,光线跟踪算法的几种演化,1.光束跟踪算法针对标准光线跟踪算法的计算开销大的问题而提出的。2.Monte-carlo ray tracing&圆锥跟踪算法针对标准光线跟踪算法的边界、阴影尖锐的问题而提出的。3.分布式光线跟踪算法针对圆锥跟踪算法求交计算复杂的问题而出的。,光束跟踪算法,性质:在光线跟踪过程中,相邻光线在光能传播过程中往往具有大致相同的路径。这一性质启示我们,相邻光线之间具有空间连贯性(Coherence)。Heckbert和hanrahan通过光束跟踪利用光线之间的连贯性,有效提高光线跟踪算法的效率。假设:考虑到经曲面反射或折射后,相邻光线会向四周散射或

21、聚结,从而改变相邻光线在空间传播的连贯性,Heckbert等将场景限制为多边形场景。关键点:如何定义光束(包括确定反射光束和折射光束),使得计算光束和景物的交简单方便。,光束跟踪算法,光束的定义:从视点出发的初始光束投向整个屏幕,形成一个视域四棱锥;采用棱锥不易计算光束和物体的交;对场景中物体进行变换,投影后,把棱锥已经变成一个柱体,视点V被变换到Z轴的无穷远处;,V,x,y,z,V,光束跟踪算法,光束的定义(续):初始情况:初始光束的光束坐标为屏幕坐标,初始光束节点包含了屏幕上可见的所有多边形。通常情况下,光束定义:在光束坐标系xy平面上的多边形(光束多边形)沿z轴平扫形成的柱体。注意:光束

22、坐标系为每一光束的局部坐标系。,z,Xy平面,光束跟踪算法,与光线跟踪算法相比较:树状结构光线跟踪光线树光束跟踪光束树树状结构中的边光线跟踪光线光束跟踪光束树状结构中的节点光线跟踪光线与物体表面相交的一点光束跟踪光束与物体表面相交的多边形集合,光束跟踪算法,流程:Step1:为了跟踪初始光束入射到镜面多边形上所产生的反射光束,将景物变换到反射光束的局部坐标系中,反射光局部坐标系z轴与反射光束前进方向一致;Step2:所有景物按新的z值排序;Step3:取镜面多边形在反射光束局部坐标系xy坐标平面上的投影为反射光束多边形,并将它与z值排序表上第一个景物多边形在该xy平面内作二维布尔运算;,光束跟

23、踪算法,流程(续):Step4:如果存在交集,则求得的交映射到该多边形上,作为反射光束将照射到的一个多边形区域记入反射光束的数据结构中,并在反射光束中减去交区域,然后与景物多边形表中的第二个多边形在xy平面上投影求交;Step5:重复上述过程,直到反射光束多边形被完全覆盖,或所有景物多边形处理完毕;在上述步骤进行的同时,还要跟踪折射光束,需要将景物变换到折射光束所定义的局部坐标系中,就可以执行上述类似的操作。,光束跟踪算法,数据结构,多边形信息,左光束树(多边形表指针)右光束树(多边形表指针),初始入射光束,光束多边形,光束相交多边形表,反射光束,折射光束,Monte-Carlo Ray Tr

24、acing&圆锥跟踪算法,传统光线跟踪的问题和原因由于假设是一根理想直线,景物表面为理想镜面,因此所产生的图形具有尖锐的反射边界和阴影边界,对景物表面的点采样导致图像走样。在现实中,景物表面并不总是完全光滑的,其镜面反射通常是模糊的。过采样Oversampling is a process where instead of sampling a single value,multiple samples are taken and averaged together.The location of where the sample is taken is varied slightly so

25、that the resulting average is an approximation of a finite area covered by the samples.This is called an anti-aliasing method.uses oversampling to reduce aliasing artifacts.,Monte-Carlo Ray Tracing&圆锥跟踪算法,改善方法1 在传统光线跟踪算法中,在每一交点处,根据表面的光滑性,产生一系列扰动反射光线,然后跟踪每一个光线,综合其所得的光亮度,最后得到前面所述交点的亮度。Monte-Carlo Ray

26、Tracing。改善方法2 采用圆锥光束取代每一条像素光线,来模拟表面模糊反射和半影效果,有效克服了图形走样现象。,Monte-Carlo Ray Tracing,Ray TracingCast a ray from the eye through each pixel Trace secondary rays(light,reflection,refraction),Monte-Carlo Ray Tracing,Cast a ray from the eye through each pixelCast random rays from the visible point Accumula

27、te radiance contribution,Cast a ray from the eye through each pixelCast random rays from the visible point Recurse,Monte-Carlo Ray Tracing,Systematically sample primary light,Monte-Carlo Ray Tracing,Take reflectance into accountMultiply ining radiance by BRDF value,Monte-Carlo Ray Tracing,Monte-Carl

28、o Ray Tracing,BRDF:Bidirectional reflectance distribution function,Monte-Carlo Ray Tracing,特点:准确合理缺点:积分计算,计算量大,圆锥跟踪算法,算法思路:采用正圆锥来表示一束光线,替代标准光线跟踪算法中的理想光线,每个圆锥光束均由三个参数确定:锥顶,中心轴线,锥角。,圆锥跟踪算法,流程:Step1:对于每个像素,以视点为锥顶,以一个像素宽度为半径构造初始圆 锥光束,并跟踪进入场景;Step2:计算圆锥光束中心轴线的镜面反射方向和折射方向,以产生反射圆锥光束和折射圆锥光束。,圆锥跟踪算法,一光线遇到表面A

29、,A不完全光滑,产生镜面反射和规则透射的圆锥光束;镜面反射圆锥光束交于景物B,形成交区域,区域内所有点聚集起来,对A上的交点亮度产生贡献;A表面反射出B的模糊镜像。模糊程度取决于交区域的大小,即锥角反映了景物表面的粗糙程度。若锥角不变,A与B距离越大,光束与B 的交区域越大。,圆锥跟踪算法,半影的形成对具有一定空间尺寸的光源来说,若它被场景中的景物部分遮挡,就会在位于其后的景物表面上形成半影。模拟半影在光源和被照射点之间建立一圆锥,该被照射点的光亮度根据圆锥与遮挡物相交部分在整个圆锥中所占的比例来计算:0照射点位于照明区内1照射点位于本影区内(0,1)-照射点位于半影区内,圆锥跟踪算法,计算内

30、容:除了计算圆锥轴线与景物表面的交外,还须计算圆锥与所有景物表面相交的区域,即该区域对于锥顶处的光亮度贡献算法难点:计算圆锥与所有景物表面相交的区域简化方法:Amantides将场景表面限定为球面和平面多边形。该算法计算复杂,只适用于简单的几何场景,使应用受限制。,分布式光线跟踪算法,Distributed ray tracing is not ray tracing on a distributed system.Distributed ray tracing is a ray tracing method based on randomly distributed oversampling

31、 to reduce aliasing artifacts in rendered images.aliasing artifacts mean almost anything unwanted in the rendered image.Typically aliasing is used to describe jagged edges.,分布式光线跟踪算法,与圆锥光束跟踪的区别使用一立体角内分布式的随机跟踪一定数量的光线表示一束光线,不是采用几何形状来表示一束光线,克服求交困难的缺点,能生成模糊镜面反射、模糊镜面折射、半影、景深、运动模糊灯光照效果。算法思路在处理每一条被跟踪光线时,在光

32、线与景物表面的交点处不仅朝其镜面反射方向和规则透射方向发射光线,而且依据景物表面的光照性质朝其镜面反射方向和规则透射方向附近立体角内也发射采样光线,即“分布地”进行光线跟踪。,分布式光线跟踪算法,分布式光线跟踪算法,模糊镜面反射Gloss(fuzzy reflections)问题:传统的光线跟踪的缺点:只有当场景中的具有反射特性的物体是理想镜面时,所绘制的结果和现实情况一样。但是更多的情况下,物体表面是不光滑的,反射出来的图像是模模糊糊的,这是因为物体表面的不光滑会将接收的光散射开来。在传统的光线跟踪算法中,反射是锐利的,尖锐的,没有过渡。,分布式光线跟踪算法,模糊镜面反射Gloss(fuzz

33、y reflections)解决方法:分布式光线跟踪算法:借助在物体表面上产生随机分布的光线反射来模拟不平滑的物体表面。.在标准光线跟踪中,在反射方向只投出一根光线,而在分布式光线跟踪中,我们沿着反射方向的周围,投射出多条光线,反射强度的计算是统计所有这些投射光线的均值。,分布式光线跟踪算法,模糊镜面反射Gloss(fuzzy reflections),传统光线跟踪算法与分布式光线跟踪算法的效果的比较。光线数量在增加,条数10-20-50,分布式光线跟踪算法,模糊镜面折射Fuzzy translucency 问题传统的光线跟踪方法比较善于表示全透明物体,不能很好的表示半透明的对象.而在一些场景

34、中,往往存在一些半透明的物体,能够透出在他后面的其他物体模模糊糊的影像。解决方法分布式光线跟踪算法能够在传统光线跟踪算法产生的规则透射光线的周围产生一些随机分布的光线,来模拟半透明物体的透射效果。透射的强度取这一束光线透射强度的均值。,分布式光线跟踪算法,模糊镜面折射Fuzzy translucency,分布式光线跟踪算法,半影Soft Shadows 问题传统的光线跟踪算法形成的阴影是离散的;.当绘制一个点时,会计算每个光源是否对于该点可见,也就是有没有其他物体在这两点之间进行遮挡,如果可见,则计算该光源对于这个点亮度的贡献,否则不计算;.用一个点表示光源,一般比较适合表示光源离物体较远的情

35、况,不适合表示光源较大,或者光源离物体较近的情况;使用传统光线跟踪,离散的计算光的传播,使得产生的阴影的边缘非常尖锐,在阴影区域边界有着明显的突变;但是现实中的阴影通常比较柔和。从完全的阴影区域到部分阴影区域的过渡是连续的,渐进的。这是因为现实中的光源都是具有一定面积的,并且还有一些从场景中其他表面散射出来的光线的存在。,分布式光线跟踪算法,半影Soft Shadows 解决方法:为了模拟现实中的软影,在分布式光线跟踪中,我们将光源建模成一个球体;当测试一个点是否在阴影内的时候,在光源的投影面积上,投射一系列的光线;光源对该点的亮度的贡献可使用从点到达光源的光线数量在所有投射光线数量中比率来近

36、似估计;光源对该点的亮度的贡献等于比率和标准Phong lighting 模型计算得到亮度的乘积。,分布式光线跟踪算法,半影Soft Shadows,稍微移动光源的位置,分布式光线跟踪算法,半影Soft Shadows,分布式光线跟踪算法,景深 Depth of Field 问题无论是人眼还是照相机,都存在凸透镜,因此存在一个有限的焦距,景深。太远或太近的物体不能聚焦,看起来非常模糊;.几乎所有的计算机图形绘制过程中都是使用针孔照相机模型,在这个模型下,所有的物体都忽略了距离的影响,都处于一个合适的焦距下;在很多情况中,这样做是有优点的,人们通常都不希望图像中由于焦距不对,存在模糊的现象。但是

37、,在另外一些情况下,尤其是真实感绘制中,模拟景深的效果可以使得结果图像更加真实,因为它更加接近真实的视觉系统。,分布式光线跟踪算法,景深 Depth of Field 解决方法:分布式光线跟踪在视平面的前面放置一个人工的透镜来模拟景深的影响;随机分布的光线又一次模拟由于景深带来的模糊现象。步骤是这样的.:第一根投射的光线通过透镜的中心,不改变方向,焦点在该光线上;其它从这个像素发出的光线可能与透镜的任何点相遇,但是经过透镜后,都通过焦点。这样,与焦点距离较近的物体的边缘都比较清楚,而与焦点距离较远的物体的边缘都会变得比较模糊。,分布式光线跟踪算法,景深 Depth of Field 解决方法:

38、,景深 Depth of Field,小孔模型,焦点在红色球,焦点在黄色球,分布式光线跟踪算法,运动模糊Motion blur问题在拍电影中,所用的摄像机拍摄的每一帧都表示的是在镜头打开的一段时间内,场景的均值;如果场景中的物体相对于照相机在运动,在电影中看起来比较模糊。解决方法分布式光线跟踪可以模拟这种模糊,它使用时间域的分布式光线投射来代替前面的空间域上的光线投射;在每一个光线投射之前,物体要被平移或旋转到该帧正确的位置上。在不同帧之间求得均值。,Questions?,分布式光线跟踪算法,传统光线跟踪的问题Computer graphics attempts to represent a

39、real-world scene on a video monitor.The raster of a monitor has a finite resolution,but the real-world scene that it is attempting to emulate is infinite resolution.Each pixel in the display covers a finite area,therefore it is an approximation of the part of the scene that can be viewed through tha

40、t pixel.In traditional ray tracing a single ray per pixel is used to sample the real world by casting it through center of the pixel and evaluating what it hits.This is a single sample approximation for the value of the pixel,and while putationally simple,it may suffer from inaccuracy.,分布式光线跟踪算法,传统光

41、线跟踪的问题Traditional ray tracing systems suffer from aliasing artifacts.In the real world things are not quite as perfect as in a puter generated world-edges and boundaries are not as sharp,reflections are not as perfect,and things can be in and out of focus.If a renderer is being used to approximate reality then these things must be taken into account.,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号