《真实感光照效果》PPT课件

上传人:s9****2 文档编号:580503913 上传时间:2024-08-29 格式:PPT 页数:85 大小:6.10MB
返回 下载 相关 举报
《真实感光照效果》PPT课件_第1页
第1页 / 共85页
《真实感光照效果》PPT课件_第2页
第2页 / 共85页
《真实感光照效果》PPT课件_第3页
第3页 / 共85页
《真实感光照效果》PPT课件_第4页
第4页 / 共85页
《真实感光照效果》PPT课件_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《《真实感光照效果》PPT课件》由会员分享,可在线阅读,更多相关《《真实感光照效果》PPT课件(85页珍藏版)》请在金锄头文库上搜索。

1、真实感图形建模与绘制真实感图形建模与绘制第二讲第二讲 真实感光照模型真实感光照模型视相关绘制方法视相关绘制方法2Global IlluminationExtends the Local Illumination Model to include:Extends the Local Illumination Model to include: Reflection (one object in another)Reflection (one object in another) Refraction (SnellRefraction (Snell s Law)s Law) Transparenc

2、y (better model)Transparency (better model) Shadows (at point, check each light source)Shadows (at point, check each light source) Antialiasing (usually means supersampling)Antialiasing (usually means supersampling)3Wireframe view of a test scene.Orthographic view from above4Locally illuminated test

3、 scene.Ambient term only5Locally illuminated test scene.Phong shading.Ambient and Diffuse terms only6Locally illuminated test scene.Phong shading.Ambient, diffuse andSpecular terms.Notes : Highlight on wall from light is in the wrong place7Comparison.FlatGouraudPhongCoarser mesh8Use Local illuminati

4、on. No.No. In our test scene, we canIn our test scene, we can t represent :t represent :MirrorMirrorChrome teapot.Chrome teapot.Shiny floorShiny floorShadowsShadows with local illumination. with local illumination. 9Test Scene.High quality rendering of test scene.Note : Mirror and chrome teapot. Sha

5、dows on floor. Shiny floor.10Global illumination.Two methods :Two methods : View dependent methods.View dependent methods. Calculate the view from the camera with global Calculate the view from the camera with global illumination.illumination. Recursive ray-tracing.Recursive ray-tracing. View indepe

6、ndent methods.View independent methods. Solve lighting for the entire scene.Solve lighting for the entire scene. Radiosity solution.Radiosity solution.11View dependent methods. Loop round the pixelsLoop round the pixels. . Good for lighting effects which have a strong Good for lighting effects which

7、 have a strong dependence on view location :dependence on view location :Specular highlights.Specular highlights.Reflections from curved surfaces.Reflections from curved surfaces. Only a small number of objects need to be considered at Only a small number of objects need to be considered at the same

8、 time. the same time. Poor when many objects need to be considered Poor when many objects need to be considered E.g diffuse interactions (eg. colour bleeding).E.g diffuse interactions (eg. colour bleeding).12View independent methods. Loop round the sceneLoop round the scene Good when many (all) obje

9、cts need to be considered at Good when many (all) objects need to be considered at same time.same time.Diffuse inter-reflections.Diffuse inter-reflections. Poor when shading has strong dependence on view Poor when shading has strong dependence on view location.location.Specular reflection.Specular r

10、eflection.真实感图形建模与绘制真实感图形建模与绘制视相关绘制方法视相关绘制方法 14Ray-Tracing: Why Use It? Simulate rays of lightSimulate rays of light Produces natural lighting effectsProduces natural lighting effects Ray-tracing easier to implementRay-tracing easier to implementFall 201115Ray-Tracing: Why Use It?Simulate rays of li

11、ghtSimulate rays of lightProduces natural lighting effectsProduces natural lighting effectsReflection Reflection Fall 201116Ray-Tracing: Why Use It?Refraction,causticsRefraction,causticsFall 201117Ray-Tracing: Why Use It?Simulate rays of lightSimulate rays of lightProduces natural lighting effectsPr

12、oduces natural lighting effectsSoft shadowsSoft shadowsFall 201118Ray-Tracing: Why Use It?Simulate rays of lightSimulate rays of lightProduces natural lighting effectsProduces natural lighting effectsdepth of field,motion blurdepth of field,motion blur19Whitted 模型模型特点:特点: 整体光照模型的典型代表;整体光照模型的典型代表; 与光

13、线跟踪技术密不可分;与光线跟踪技术密不可分; 考虑了光源在物体表面的直接照射产生的光亮度,同时还考虑了考虑了光源在物体表面的直接照射产生的光亮度,同时还考虑了环境光在镜面反射方向和规则透射方向对被照射点产生的光能贡环境光在镜面反射方向和规则透射方向对被照射点产生的光能贡献;献; 其他方向的环境光对照射点的影响仍用一常数泛光项来模拟。其他方向的环境光对照射点的影响仍用一常数泛光项来模拟。20Whitted 模型模型计算方法:计算方法:Whitted模型采用递归跟踪的方法来求解Ir,ItIr:来自环境光的反射光亮度;kr :入射点的镜面反射系数It:来自环境光的透射光亮度;kt :入射点的透射系数

14、21Ray Tracing标准标准Ray TracingRay Tracing算法算法 假设假设: : 光线是一根没有大小的直线,即数学意义上的直线;光线是一根没有大小的直线,即数学意义上的直线; 物体表面是完全光滑的,光在表面的反射遵循镜面反物体表面是完全光滑的,光在表面的反射遵循镜面反射和规则透射的规律。射和规则透射的规律。这两个假设使得光线跟踪算法生成的图形中含有轮廓这两个假设使得光线跟踪算法生成的图形中含有轮廓清楚的多重反射效果清楚的多重反射效果22Ray Tracing 由于从光源发出的光线有无穷条,直接从光源出由于从光源发出的光线有无穷条,直接从光源出发对光线进行跟踪非常困难;发对

15、光线进行跟踪非常困难;23Ray Tracing 实际上,从光源发出的光线只有少数经由场景中物实际上,从光源发出的光线只有少数经由场景中物体表面之间的反射和透射后到达观察者的眼中;体表面之间的反射和透射后到达观察者的眼中; 标准光线跟踪算法采用逆向跟踪技术来完成整个绘标准光线跟踪算法采用逆向跟踪技术来完成整个绘制过程制过程24Ray Tracing算法思路:算法思路:1.1.从视点出发,通过图像平面上每个像素中心向场景中发出一条光从视点出发,通过图像平面上每个像素中心向场景中发出一条光线;线;2.2.判断:若光线与场景中物体无相交,则光线将射出画面,跟踪结判断:若光线与场景中物体无相交,则光线

16、将射出画面,跟踪结束;否则,光线与物体相交;束;否则,光线与物体相交;3.3.光线在离视点最近的景物表面交点出的走向有三种可能:光线在离视点最近的景物表面交点出的走向有三种可能:当前交点所在的景物表面为理想漫反射面,跟踪结束;当前交点所在的景物表面为理想漫反射面,跟踪结束;当前所在的景物表面为理想镜面,光线沿其镜面反射方向继续跟踪;当前所在的景物表面为理想镜面,光线沿其镜面反射方向继续跟踪;当前交点所在的景物表面为规则透面,光线沿其规则透射方向继续跟踪。当前交点所在的景物表面为规则透面,光线沿其规则透射方向继续跟踪。上述步骤是一个递归过程。上述步骤是一个递归过程。25Ray Tracing继续

17、跟踪以下三条光线:继续跟踪以下三条光线: Towards Light Source(s) : shadow rays. Towards Light Source(s) : shadow rays. L L (shadow (shadow feelers)feelers) In the reflection direction : reflection rays, In the reflection direction : reflection rays, R R In a direction dictated by SnellIn a direction dictated by Snell s

18、 Law : transmitted s Law : transmitted rays, rays, T T Fall 201126The Ray TreeR2R1R3L2L1L3N1N2N3T1T3Ni surface normalRi reflected rayLi shadow rayTi transmitted (refracted) rayEyeL1T3R3L3L2T1R1R2EyeComplexity?27Recursive ray tree.1.1.Reflection and Transmission Rays spawn other rays.Reflection and T

19、ransmission Rays spawn other rays.2.2.The complete set of rays is called a The complete set of rays is called a Ray Tree.Ray Tree.ViewpointLight Source ray determines colour of current object.28Test Scene.Ray tree depth 1. Note only ambient shade on mirror and teapot29Test Scene.Ray tree depth 2. No

20、te only ambient shade on reflection of mirror and teapot.30Test Scene.Ray tree depth 3. Note only ambient shade on reflection of mirror in teapot.31Test Scene.Ray tree depth 4. Note ambient shade on reflection of teapot in reflection of mirror in teapot.32Test Scene.Ray tree depth 5. 33Test Scene.Ra

21、y tree depth 6. 34Test Scene.Ray tree depth 7. 35When to stop ? Need to know when to stop the recursion.Need to know when to stop the recursion. Can define a fixed depth.Can define a fixed depth. Hall introduced Hall introduced adaptive tree depth control.adaptive tree depth control.Calculate maximu

22、m contribution of a ray to a pixels Calculate maximum contribution of a ray to a pixels final value.final value.Multiply contribution of rayMultiply contribution of ray s ancestors down the tree.s ancestors down the tree.Stop when below some threshold, perhaps stack Stop when below some threshold, p

23、erhaps stack overflow.overflow.36Adaptive tree depth control.Viewpoint0.30.237Adaptive tree depth control.Viewpoint0.3 * 0.20.2 * 0.20.30.238标准光线跟踪算法标准光线跟踪算法TraceRay(VECTOR Start, VECTOR Direction, int Depth, COLOR Color)TraceRay(VECTOR Start, VECTOR Direction, int Depth, COLOR Color) VECTOR Interse

24、ctionPoint, ReflectedDirection, TransmittedDirection;VECTOR IntersectionPoint, ReflectedDirection, TransmittedDirection;COLOR LocalColor, ReflectedColor,TransmittedColor;COLOR LocalColor, ReflectedColor,TransmittedColor;If (DepthMAXDEPTH) Color = black;If (DepthMAXDEPTH) Color = black;Else Else 取取St

25、artStart为起点,方向为为起点,方向为DirectionDirection的光线的光线S S为跟踪光线,用它与场景中的为跟踪光线,用它与场景中的景物进行求交测试;景物进行求交测试;if (if (无交无交) Color = BackgroundColor;) Color = BackgroundColor;elseelse 计算离起始点计算离起始点StartStart最近的交点最近的交点IntersectionPoint;IntersectionPoint;Shade(IntersectionObject,IntersectionPoint,LocalColor);Shade(Inter

26、sectionObject,IntersectionPoint,LocalColor);确定确定IntersectionPointIntersectionPoint所在表面镜面反射系数所在表面镜面反射系数ks,ks,透射系数透射系数ktkt;if (IntersectionPointif (IntersectionPoint所在的表面为镜面所在的表面为镜面) )计算跟踪光线计算跟踪光线S S在在IntersectionPointIntersectionPoint处的反射光线方向处的反射光线方向ReflectedDirection;ReflectedDirection;TraceRay(nter

27、sectionPoint,ReflectedDirection,TraceRay(ntersectionPoint,ReflectedDirection,Depth+1,ReflectedColor);Depth+1,ReflectedColor); 39标准光线跟踪算法标准光线跟踪算法if (IntersectionPointif (IntersectionPoint所在的表面为透明面所在的表面为透明面) )计算跟踪光线计算跟踪光线S S在在IntersectionPointIntersectionPoint处的规则透射光线处的规则透射光线方向方向TransmittedDirection;T

28、ransmittedDirection;TraceRay(IntersectionPoint, TransmittedDirection,TraceRay(IntersectionPoint, TransmittedDirection,Depth+1, TransmittedColor);Depth+1, TransmittedColor); Color = LoaclColor+ks*ReflectedColor+kt*TransmittedColor;Color = LoaclColor+ks*ReflectedColor+kt*TransmittedColor; 40标准光线跟踪算法标准

29、光线跟踪算法用局部光照模型计算交点用局部光照模型计算交点IntersectionPointIntersectionPoint处的局部光亮度处的局部光亮度LocalColorLocalColorShade(OBJECT IntersectionObject, VECTOR IntersecctionPoint,COLOR Shade(OBJECT IntersectionObject, VECTOR IntersecctionPoint,COLOR LocalColor)LocalColor) 确定确定IntersectionObjectIntersectionObject在在Intersect

30、ionPointIntersectionPoint处的单位法向量处的单位法向量N N,漫反射系数,漫反射系数kd,kd,镜镜面反射系数面反射系数ksks,环境反射系数,环境反射系数ka;ka;LocalColor = ka*Ia;LocalColor = ka*Ia;For (For (每一个点光源每一个点光源PointLight)PointLight)计算入射光线单位向量计算入射光线单位向量L L和虚拟镜面单位法向量和虚拟镜面单位法向量H;H;由由PhongPhong模型计算光源模型计算光源PointLightPointLight在在IntersectionPointIntersection

31、Point处的漫反射和镜面处的漫反射和镜面反射光亮度;反射光亮度;LocalColor+=(ILocalColor+=(Ipointlightpointlight*(kd*(N.L)+ks*(N.H)*(kd*(N.L)+ks*(N.H)n n);); 41光线跟踪几何光线跟踪几何1.1.反射光线方向与折射光线方向的确定反射光线方向与折射光线方向的确定2.2.光线与景物表面的求交方法光线与景物表面的求交方法 光线与球面的交光线与球面的交 光线与多边形的交光线与多边形的交 光线与长方体的交光线与长方体的交 光线与三角形的交光线与三角形的交 光线与二次曲面的交光线与二次曲面的交 光线与一般柱面的交

32、光线与一般柱面的交 光线与旋转面的交光线与旋转面的交 光线与代数曲面的交光线与代数曲面的交 光线与光线与metaballmetaball曲面的交曲面的交 光线与参数曲面的交光线与参数曲面的交42Local illumination vs. Global In both an object hit by a ray, if lit by a light source, is In both an object hit by a ray, if lit by a light source, is illuminated by a local illumination model, i.e with

33、 illuminated by a local illumination model, i.e with specular, diffuse & ambient terms. specular, diffuse & ambient terms. Global: a reflected ray, Global: a reflected ray, and a transmission ray (if and a transmission ray (if appropriate) are also cast into the scene.appropriate) are also cast into

34、 the scene. 43光线跟踪算法的几种演化光线跟踪算法的几种演化1.1.光束跟踪算法光束跟踪算法针对标准光线跟踪算法的计算开销大的问题而提针对标准光线跟踪算法的计算开销大的问题而提出的。出的。2.Monte-carlo ray tracing & 2.Monte-carlo ray tracing & 圆锥跟踪算法圆锥跟踪算法针对标准光线跟踪算法的边界、阴影尖锐的问题而提针对标准光线跟踪算法的边界、阴影尖锐的问题而提出的。出的。3.3.分布式光线跟踪算法分布式光线跟踪算法针对圆锥跟踪算法求交计算复杂的问题而出的。针对圆锥跟踪算法求交计算复杂的问题而出的。44光束跟踪算法光束跟踪算法1.

35、1.性质:性质:在光线跟踪过程中,相邻光线在光能传播过程中往往具有大致相同的路在光线跟踪过程中,相邻光线在光能传播过程中往往具有大致相同的路径。这一性质启示我们,相邻光线之间具有空间连贯性(径。这一性质启示我们,相邻光线之间具有空间连贯性(CoherenceCoherence)。)。HeckbertHeckbert和和hanrahanhanrahan通过光束跟踪利用光线之间的连贯性,有效提高光线通过光束跟踪利用光线之间的连贯性,有效提高光线跟踪算法的效率。跟踪算法的效率。2.2.假设:假设:考虑到经曲面反射或折射后,相邻光线会向四周散射或聚结,从而改变考虑到经曲面反射或折射后,相邻光线会向四周

36、散射或聚结,从而改变相邻光线在空间传播的连贯性,相邻光线在空间传播的连贯性,HeckbertHeckbert等将场景限制为多边形场景。等将场景限制为多边形场景。3.3.关键点:关键点:如何定义光束(包括确定反射光束和折射光束),使得计算光束和景物如何定义光束(包括确定反射光束和折射光束),使得计算光束和景物的交简单方便。的交简单方便。45光束跟踪算法光束跟踪算法光束的定义:光束的定义:1.1.从视点出发的初始光束投向整个屏幕,形成一个视域四从视点出发的初始光束投向整个屏幕,形成一个视域四棱锥;棱锥;2.2.采用棱锥不易计算光束和物体的交;采用棱锥不易计算光束和物体的交;3.3.对场景中物体进行

37、变换,投影后,把棱锥已经变成一个对场景中物体进行变换,投影后,把棱锥已经变成一个柱体,视点柱体,视点V V被变换到被变换到Z Z轴的无穷远处;轴的无穷远处;VxyzV46光束跟踪算法光束跟踪算法光束的定义(续):光束的定义(续):4.4.初始情况:初始光束的光束坐标为屏幕坐标,初始光束初始情况:初始光束的光束坐标为屏幕坐标,初始光束节点包含了屏幕上可见的所有多边形。节点包含了屏幕上可见的所有多边形。5.5.通常情况下,光束定义:在光束坐标系通常情况下,光束定义:在光束坐标系xyxy平面上的多边平面上的多边形(光束多边形)沿形(光束多边形)沿z z轴平扫形成的柱体。轴平扫形成的柱体。注意:注意:

38、光束坐标系为每一光束的局部坐标系。光束坐标系为每一光束的局部坐标系。zXy平面47光束跟踪算法光束跟踪算法与光线跟踪算法相比较:与光线跟踪算法相比较:1.1.树状结构树状结构光线跟踪光线跟踪光线树光线树光束跟踪光束跟踪光束树光束树2.2.树状结构中的边树状结构中的边光线跟踪光线跟踪光线光线光束跟踪光束跟踪光束光束3.3.树状结构中的节点树状结构中的节点光线跟踪光线跟踪光线与物体表面相交的一点光线与物体表面相交的一点光束跟踪光束跟踪光束与物体表面相交的多边形集合光束与物体表面相交的多边形集合48光束跟踪算法光束跟踪算法流程:流程:Step1:Step1:为了跟踪初始光束入射到镜面多边形上所产生的

39、反射为了跟踪初始光束入射到镜面多边形上所产生的反射光束,将景物变换到反射光束的局部坐标系中,反射光光束,将景物变换到反射光束的局部坐标系中,反射光局部坐标系局部坐标系z z轴与反射光束前进方向一致;轴与反射光束前进方向一致;Step2:Step2:所有景物按新的所有景物按新的z z值排序;值排序;Step3:Step3:取镜面多边形在反射光束局部坐标系取镜面多边形在反射光束局部坐标系xyxy坐标平面上的坐标平面上的投影为反射光束多边形,并将它与投影为反射光束多边形,并将它与z z值排序表上第一个景值排序表上第一个景物多边形在该物多边形在该xyxy平面内作二维布尔运算;平面内作二维布尔运算;49

40、光束跟踪算法光束跟踪算法流程流程( (续续) ):Step4:Step4:如果存在交集,则求得的交映射到该多边形上,作为如果存在交集,则求得的交映射到该多边形上,作为反射光束将照射到的一个多边形区域记入反射光束的数反射光束将照射到的一个多边形区域记入反射光束的数据结构中,并在反射光束中减去交区域,然后与景物多据结构中,并在反射光束中减去交区域,然后与景物多边形表中的第二个多边形在边形表中的第二个多边形在xyxy平面上投影求交;平面上投影求交;Step5:Step5:重复上述过程,直到反射光束多边形被完全覆盖,或重复上述过程,直到反射光束多边形被完全覆盖,或所有景物多边形处理完毕;所有景物多边形

41、处理完毕;在上述步骤进行的同时,还要跟踪折射光束,需要将在上述步骤进行的同时,还要跟踪折射光束,需要将景物变换到折射光束所定义的局部坐标系中,就可以执景物变换到折射光束所定义的局部坐标系中,就可以执行上述类似的操作。行上述类似的操作。50光束跟踪算法光束跟踪算法数据结构数据结构多边形信息左光束树(多边形表指针)右光束树(多边形表指针)初始入射光束光束多边形光束相交多边形表反射光束折射光束51Monte-Carlo Ray Tracing&圆锥跟踪算法圆锥跟踪算法传统光线跟踪的问题和原因传统光线跟踪的问题和原因 由于假设是一根理想直线,景物表面为理想镜面,因此所产生的由于假设是一根理想直线,景物

42、表面为理想镜面,因此所产生的图形具有尖锐的反射边界和阴影边界,对景物表面的点采样导致图形具有尖锐的反射边界和阴影边界,对景物表面的点采样导致图像走样。在现实中,景物表面并不总是完全光滑的,其镜面反图像走样。在现实中,景物表面并不总是完全光滑的,其镜面反射通常是模糊的。射通常是模糊的。过采样过采样 Oversampling is a process where instead of sampling a single Oversampling is a process where instead of sampling a single value, multiple samples are t

43、aken and averaged together. value, multiple samples are taken and averaged together. The location of where the sample is taken is varied slightly so The location of where the sample is taken is varied slightly so that the resulting average is an approximation of a finite area that the resulting aver

44、age is an approximation of a finite area covered by the samples. This is called an anti-aliasing method.covered by the samples. This is called an anti-aliasing method. uses oversampling to reduce aliasing artifacts.uses oversampling to reduce aliasing artifacts.52Monte-Carlo Ray Tracing&圆锥跟踪算法圆锥跟踪算法

45、改善方法改善方法1 1 在传统光线跟踪算法中,在每一交点处,根据表面的光滑在传统光线跟踪算法中,在每一交点处,根据表面的光滑性,产生一系列扰动反射光线,然后跟踪每一个光线,综合性,产生一系列扰动反射光线,然后跟踪每一个光线,综合其所得的光亮度,最后得到前面所述交点的亮度。其所得的光亮度,最后得到前面所述交点的亮度。 Monte-Carlo Ray Tracing。改善方法改善方法2 2 采用圆锥光束取代每一条像素光线,来模拟表面模糊反射采用圆锥光束取代每一条像素光线,来模拟表面模糊反射和半影效果,有效克服了图形走样现象。和半影效果,有效克服了图形走样现象。53Monte-Carlo Ray T

46、racingRay TracingCast a ray from the eye through each pixel Trace secondary rays (light, reflection, refraction)54Monte-Carlo Ray TracingCast a ray from the eye through each pixelCast random rays from the visible point Accumulate radiance contribution55Cast a ray from the eye through each pixelCast

47、random rays from the visible point RecurseMonte-Carlo Ray Tracing56Systematically sample primary lightMonte-Carlo Ray Tracing57Take reflectance into accountMultiply incoming radiance by BRDF valueMonte-Carlo Ray Tracing58Monte-Carlo Ray TracingBRDF:Bidirectional reflectance distribution function 59M

48、onte-Carlo Ray Tracing特点:准确合理特点:准确合理缺点:积分计算,计算量大缺点:积分计算,计算量大60圆锥跟踪算法圆锥跟踪算法算法思路:算法思路: 采用正圆锥来表示一束光线,替代标准光线跟踪算法中采用正圆锥来表示一束光线,替代标准光线跟踪算法中的理想光线,每个圆锥光束均由三个参数确定:锥顶,中心的理想光线,每个圆锥光束均由三个参数确定:锥顶,中心轴线,锥角。轴线,锥角。BAV61圆锥跟踪算法圆锥跟踪算法流程:流程:Step1Step1:对于每个像素,以视点为锥顶,以一个像素宽度为:对于每个像素,以视点为锥顶,以一个像素宽度为半径构造初始圆半径构造初始圆 锥光束,并跟踪进入

49、场景;锥光束,并跟踪进入场景;Step2Step2:计算圆锥光束中心轴线的镜面反射方向和折射方向,:计算圆锥光束中心轴线的镜面反射方向和折射方向,以产生反射圆锥光束和折射圆锥光束。以产生反射圆锥光束和折射圆锥光束。62圆锥跟踪算法圆锥跟踪算法BAV1.一光线遇到表面A,A不完全光滑,产生镜面反射和规则透射的圆锥光束;2.镜面反射圆锥光束交于景物B,形成交区域,区域内所有点聚集起来,对A上的交点亮度产生贡献;3.A表面反射出B的模糊镜像。模糊程度取决于交区域的大小,即锥角反映了景物表面的粗糙程度。若锥角不变,A与B距离越大,光束与B 的交区域越大。63圆锥跟踪算法圆锥跟踪算法半影的形成半影的形成

50、对具有一定空间尺寸的光源来说,若它被场景中的景对具有一定空间尺寸的光源来说,若它被场景中的景物部分遮挡,就会在位于其后的景物表面上形成半影。物部分遮挡,就会在位于其后的景物表面上形成半影。模拟半影模拟半影在光源和被照射点之间建立一圆锥,该被照射点的光在光源和被照射点之间建立一圆锥,该被照射点的光亮度根据圆锥与遮挡物相交部分在整个圆锥中所占的比亮度根据圆锥与遮挡物相交部分在整个圆锥中所占的比例来计算:例来计算:00照射点位于照明区内照射点位于照明区内11照射点位于本影区内照射点位于本影区内(0 0,1 1)- -照射点位于半影区内照射点位于半影区内64圆锥跟踪算法圆锥跟踪算法计算内容:计算内容:

51、除了计算圆锥轴线与景物表面的交外,还须计算圆锥与所有景除了计算圆锥轴线与景物表面的交外,还须计算圆锥与所有景物表面相交的区域,即该区域对于锥顶处的光亮度贡献物表面相交的区域,即该区域对于锥顶处的光亮度贡献算法难点:算法难点:计算圆锥与所有景物表面相交的区域计算圆锥与所有景物表面相交的区域简化方法:简化方法:AmantidesAmantides将场景表面限定为球面和平面多边形。将场景表面限定为球面和平面多边形。该算法计算复杂,只适用于简单的几何场景,使应用受限制。该算法计算复杂,只适用于简单的几何场景,使应用受限制。65分布式光线跟踪算法分布式光线跟踪算法 Distributed ray tra

52、cing is Distributed ray tracing is notnot ray tracing on a ray tracing on a distributed system.distributed system. Distributed ray tracing Distributed ray tracing isis a ray tracing method based a ray tracing method based on randomly distributed oversampling to reduce on randomly distributed oversam

53、pling to reduce aliasing artifacts in rendered images. aliasing artifacts in rendered images. aliasing artifacts aliasing artifacts mean almost anything unwanted in mean almost anything unwanted in the rendered image. Typically aliasing is used to the rendered image. Typically aliasing is used to de

54、scribe jagged edges.describe jagged edges. 66分布式光线跟踪算法分布式光线跟踪算法与圆锥光束跟踪的区别与圆锥光束跟踪的区别使用一立体角内分布式的随机跟踪一定数量的光线表示一束光线,使用一立体角内分布式的随机跟踪一定数量的光线表示一束光线,不是采用几何形状来表示一束光线,克服求交困难的缺点,能生不是采用几何形状来表示一束光线,克服求交困难的缺点,能生成模糊镜面反射、模糊镜面折射、半影、景深、运动模糊灯光照成模糊镜面反射、模糊镜面折射、半影、景深、运动模糊灯光照效果。效果。算法思路算法思路在处理每一条被跟踪光线时,在光线与景物表面的交点处不仅朝在处理每一

55、条被跟踪光线时,在光线与景物表面的交点处不仅朝其镜面反射方向和规则透射方向发射光线,而且依据景物表面的其镜面反射方向和规则透射方向发射光线,而且依据景物表面的光照性质朝其镜面反射方向和规则透射方向附近立体角内也发射光照性质朝其镜面反射方向和规则透射方向附近立体角内也发射采样光线,即采样光线,即“ “分布地分布地” ”进行光线跟踪。进行光线跟踪。67分布式光线跟踪算法分布式光线跟踪算法BAV68分布式光线跟踪算法分布式光线跟踪算法模糊镜面反射模糊镜面反射Gloss (fuzzy reflections)Gloss (fuzzy reflections)问题:问题:传统的光线跟踪的缺点:传统的光线

56、跟踪的缺点: 只有当场景中的具有反射特性的物体是理想镜面时,所绘制的结果和现只有当场景中的具有反射特性的物体是理想镜面时,所绘制的结果和现实情况一样。实情况一样。 但是更多的情况下,物体表面是不光滑的,反射出来的图像是模模糊糊但是更多的情况下,物体表面是不光滑的,反射出来的图像是模模糊糊的,这是因为物体表面的不光滑会将接收的光散射开来。在传统的光线的,这是因为物体表面的不光滑会将接收的光散射开来。在传统的光线跟踪算法中,反射是锐利的,尖锐的,没有过渡。跟踪算法中,反射是锐利的,尖锐的,没有过渡。69分布式光线跟踪算法分布式光线跟踪算法模糊镜面反射模糊镜面反射Gloss (fuzzy refle

57、ctions)Gloss (fuzzy reflections)解决方法:解决方法:分布式光线跟踪算法:分布式光线跟踪算法: 借助在物体表面上产生随机分布的光线反射来模拟不平滑的物体表面。借助在物体表面上产生随机分布的光线反射来模拟不平滑的物体表面。. . 在标准光线跟踪中,在反射方向只投出一根光线,而在分布式光线跟踪在标准光线跟踪中,在反射方向只投出一根光线,而在分布式光线跟踪中,我们沿着反射方向的周围,投射出多条光线,反射强度的计算是统中,我们沿着反射方向的周围,投射出多条光线,反射强度的计算是统计所有这些投射光线的均值。计所有这些投射光线的均值。70分布式光线跟踪算法分布式光线跟踪算法模

58、糊镜面反射模糊镜面反射Gloss (fuzzy reflections)Gloss (fuzzy reflections)传统光线跟踪算法与分布式光线跟踪算法的效果的比较。光线数量在增加,条数10-20-5071分布式光线跟踪算法分布式光线跟踪算法模糊镜面折射模糊镜面折射Fuzzy translucency Fuzzy translucency 问题问题 传统的光线跟踪方法比较善于表示全透明物体,不能很好的表示半透明传统的光线跟踪方法比较善于表示全透明物体,不能很好的表示半透明的对象的对象. . 而在一些场景中,往往存在一些半透明的物体,能够透出在他后面的其而在一些场景中,往往存在一些半透明的

59、物体,能够透出在他后面的其他物体模模糊糊的影像。他物体模模糊糊的影像。解决方法解决方法 分布式光线跟踪算法能够在传统光线跟踪算法产生的规则透射光线的周分布式光线跟踪算法能够在传统光线跟踪算法产生的规则透射光线的周围产生一些随机分布的光线,来模拟半透明物体的透射效果。围产生一些随机分布的光线,来模拟半透明物体的透射效果。 透射的强度取这一束光线透射强度的均值。透射的强度取这一束光线透射强度的均值。72分布式光线跟踪算法分布式光线跟踪算法模糊镜面折射模糊镜面折射Fuzzy translucency Fuzzy translucency 73分布式光线跟踪算法分布式光线跟踪算法半影半影Soft Sh

60、adows Soft Shadows 问题问题 传统的光线跟踪算法形成的阴影是离散的;传统的光线跟踪算法形成的阴影是离散的; . .当绘制一个点时,会计算每个光源是否对于该点可见,也就是有没有其当绘制一个点时,会计算每个光源是否对于该点可见,也就是有没有其他物体在这两点之间进行遮挡,如果可见,则计算该光源对于这个点亮他物体在这两点之间进行遮挡,如果可见,则计算该光源对于这个点亮度的贡献,否则不计算;度的贡献,否则不计算; . .用一个点表示光源,一般比较适合表示光源离物体较远的情况,不适合用一个点表示光源,一般比较适合表示光源离物体较远的情况,不适合表示光源较大,或者光源离物体较近的情况;表示

61、光源较大,或者光源离物体较近的情况; 使用传统光线跟踪,离散的计算光的传播,使得产生的阴影的边缘非常使用传统光线跟踪,离散的计算光的传播,使得产生的阴影的边缘非常尖锐,在阴影区域边界有着明显的突变;尖锐,在阴影区域边界有着明显的突变; 但是现实中的阴影通常比较柔和。从完全的阴影区域到部分阴影区域的但是现实中的阴影通常比较柔和。从完全的阴影区域到部分阴影区域的过渡是连续的,渐进的。这是因为现实中的光源都是具有一定面积的,过渡是连续的,渐进的。这是因为现实中的光源都是具有一定面积的,并且还有一些从场景中其他表面散射出来的光线的存在。并且还有一些从场景中其他表面散射出来的光线的存在。74分布式光线跟

62、踪算法分布式光线跟踪算法半影半影Soft Shadows Soft Shadows 解决方法:解决方法: 为了模拟现实中的软影,在分布式光线跟踪中,我们将光源建模成一个为了模拟现实中的软影,在分布式光线跟踪中,我们将光源建模成一个球体;球体; 当测试一个点是否在阴影内的时候,在光源的投影面积上,投射一系列当测试一个点是否在阴影内的时候,在光源的投影面积上,投射一系列的光线;的光线; 光源对该点的亮度的贡献可使用从点到达光源的光线数量在所有投射光光源对该点的亮度的贡献可使用从点到达光源的光线数量在所有投射光线数量中比率来近似估计;线数量中比率来近似估计; 光源对该点的亮度的贡献等于比率和标准光源

63、对该点的亮度的贡献等于比率和标准Phong lighting Phong lighting 模型计算得到亮模型计算得到亮度的乘积。度的乘积。75分布式光线跟踪算法分布式光线跟踪算法半影半影Soft Shadows Soft Shadows 稍微移动光源的位置76分布式光线跟踪算法分布式光线跟踪算法半影半影Soft Shadows Soft Shadows 77分布式光线跟踪算法分布式光线跟踪算法景深景深 Depth of Field Depth of Field 问题问题 无论是人眼还是照相机,都存在凸透镜,因此存在一个有限的焦距,景无论是人眼还是照相机,都存在凸透镜,因此存在一个有限的焦距,

64、景深。太远或太近的物体不能聚焦,看起来非常模糊;深。太远或太近的物体不能聚焦,看起来非常模糊;. . 几乎所有的计算机图形绘制过程中都是使用针孔照相机模型,在这个模几乎所有的计算机图形绘制过程中都是使用针孔照相机模型,在这个模型下,所有的物体都忽略了距离的影响,都处于一个合适的焦距下;型下,所有的物体都忽略了距离的影响,都处于一个合适的焦距下; 在很多情况中,这样做是有优点的,人们通常都不希望图像中由于焦距在很多情况中,这样做是有优点的,人们通常都不希望图像中由于焦距不对,存在模糊的现象。但是,在另外一些情况下,尤其是真实感绘制不对,存在模糊的现象。但是,在另外一些情况下,尤其是真实感绘制中,

65、模拟景深的效果可以使得结果图像更加真实,因为它更加接近真实中,模拟景深的效果可以使得结果图像更加真实,因为它更加接近真实的视觉系统。的视觉系统。78分布式光线跟踪算法分布式光线跟踪算法景深景深 Depth of Field Depth of Field 解决方法:解决方法: 分布式光线跟踪在视平面的前面放置一个人工的透镜来模拟景深分布式光线跟踪在视平面的前面放置一个人工的透镜来模拟景深的影响;的影响; 随机分布的光线又一次模拟由于景深带来的模糊现象。步骤是这随机分布的光线又一次模拟由于景深带来的模糊现象。步骤是这样的样的. .: 第一根投射的光线通过透镜的中心,不改变方向,焦点在该光第一根投射

66、的光线通过透镜的中心,不改变方向,焦点在该光线上;线上; 其它从这个像素发出的光线可能与透镜的任何点相遇,但是经其它从这个像素发出的光线可能与透镜的任何点相遇,但是经过透镜后,都通过焦点。过透镜后,都通过焦点。 这样,与焦点距离较近的物体的边缘都比较清楚,而与焦点距离这样,与焦点距离较近的物体的边缘都比较清楚,而与焦点距离较远的物体的边缘都会变得比较模糊。较远的物体的边缘都会变得比较模糊。79分布式光线跟踪算法分布式光线跟踪算法景深景深 Depth of Field Depth of Field 解决方法:解决方法:P像素视点主光线80景深景深 Depth of Field 小孔模型焦点在红色

67、球焦点在黄色球81分布式光线跟踪算法分布式光线跟踪算法运动模糊运动模糊Motion blurMotion blur问题问题 在拍电影中,所用的摄像机拍摄的每一帧都表示的是在镜头打开在拍电影中,所用的摄像机拍摄的每一帧都表示的是在镜头打开的一段时间内,场景的均值;的一段时间内,场景的均值; 如果场景中的物体相对于照相机在运动,在电影中看起来比较模如果场景中的物体相对于照相机在运动,在电影中看起来比较模糊。糊。解决方法解决方法 分布式光线跟踪可以模拟这种模糊,它使用时间域的分布式光线分布式光线跟踪可以模拟这种模糊,它使用时间域的分布式光线投射来代替前面的空间域上的光线投射;投射来代替前面的空间域上

68、的光线投射; 在每一个光线投射之前,物体要被平移或旋转到该帧正确的位置在每一个光线投射之前,物体要被平移或旋转到该帧正确的位置上。在不同帧之间求得均值。上。在不同帧之间求得均值。8283Questions?84分布式光线跟踪算法分布式光线跟踪算法传统光线跟踪的问题传统光线跟踪的问题 Computer graphics attempts to represent a real-world scene on a video Computer graphics attempts to represent a real-world scene on a video monitor. monitor.

69、The raster of a monitor has a finite resolution, but the real-world scene The raster of a monitor has a finite resolution, but the real-world scene that it is attempting to emulate is infinite resolution.that it is attempting to emulate is infinite resolution. Each pixel in the display covers a fini

70、te area, therefore it is an 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 that approximation of the part of the scene that can be viewed through that pixel.pixel. In traditional ray tracing a single ray per pixel

71、is used to sample the real 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.world by casting it through center of the pixel and evaluating what it hits. This is a single sample approximation for t

72、he value of the pixel, and This is a single sample approximation for the value of the pixel, and while computationally simple, it may suffer from inaccuracy. while computationally simple, it may suffer from inaccuracy. 85分布式光线跟踪算法分布式光线跟踪算法传统光线跟踪的问题传统光线跟踪的问题 Traditional ray tracing systems suffer fro

73、m aliasing Traditional ray tracing systems suffer from aliasing artifacts. artifacts. In the real world things are not quite as perfect as in a In the real world things are not quite as perfect as in a computer generated world - edges and boundaries computer generated world - edges and boundaries ar

74、e not as sharp, reflections are not as perfect, and are not as sharp, reflections are not as perfect, and things can be in and out of focus.things can be in and out of focus. If a renderer is being used to approximate reality then If a renderer is being used to approximate reality then these things must be taken into account.these things must be taken into account.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号