资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,全局光照,指导老师:杨武,学生:黄州龙,I-,局部光照,Phong,光照模型,II-,全局光照,路径跟踪家族,:,光线跟踪,双向光线跟踪,分布式光线跟踪,光 柱跟踪,光束跟踪,光子贴图,辐射度,MLT,,基于图像的光照,IBL,环境光遮蔽,计算机图形学中的光照,1,、全局光照、全局光照算法,2,、,BRDF,:,Bidirectional Reflectance Distribution Function,3,、蒙特卡洛方法,4,、马尔科夫链模型,几个相关术语,路径的定义:,终端点:,E,:眼睛,L,:光源,反,/,透射分类:,D,:完全漫反射,S,:完全镜面反射,G,:介于漫反射和镜面反射,不同算法对应的,EL,表达式,光线投射,: E(D|G)L,光线跟踪,: ES*(DjG)L,路径跟踪,: E(D|G|S)+(D|G)L,辐射度,: ED*L,路径跟踪家族:,光线多次反射,反射光线,折射光线,阴影光线,从屏幕的每个像素投射光线进行跟踪,光线跟踪,算法特点:,由于是对光照物理模型的忠实模拟,很多光照效果使用该算法很自然就能实现,各个像素之间的计算相互独立,可以使用并行方式来实现,由于每条光线都精确计算,因此生成的图像都是边缘锐利的,适用于物体均比较光泽的场景和比较大的光源,光线跟踪,对于单向,(,正向和反向,),光线跟踪的不足做出的改进,算法特点:,从光源和屏幕同时发射光线,根据某种决策方式来决定连接相向的光线,很好解决了对于一些情况比较特殊的场景的光照模拟,如小光源,大面积镜面,都可以很好地避免噪声,双向光线跟踪,双向光线跟踪,双向光线连接决策,双向光线跟踪处理不同特点的场景,双向光线跟踪,大光源和曲面反射,小光源和大面积镜面,分布式光线跟踪,算法简介:,该算法是基于传统光线跟踪的一种改进算法,为了弥补原始光线跟踪算法光线计算过于精确造成锐化光影,而无法支持半影、运动模糊、景深、半透明效果和模糊反射效果等的缺陷。,算法思想:,不同于传统光线跟踪只从一个点发出一条光线,该算法是对光线分布在发射的主轴线附近再分布些光线,根据不同的分布策略,就可以选择性地实现光照中的一些模糊现象;对不同的时刻进行光线跟踪则实现了运动模糊;从透镜表面发出光线进行跟踪则可以实现景深效果。,分布式光线跟踪,算法介绍:,光线跟踪的衍生算法,与光线跟踪从每个像素发出射线不同,这,2,种算法是从整个屏幕发出一束横截面为矩形(或圆形)的光柱,该光柱与场景中的表面相交,未相交的光柱部分则分出来成为新的一群相对较细的光柱,光柱的投射计算和光线跟踪采用的是一样的模型。,光柱跟踪和光束跟踪,算法特点:,相比较于光线跟踪算法,该算法使用的光柱其实就是高密度的射线集,可以自然地回避掉过多采样和过低采样的问题,因此可以得到非常逼真的效果,可想而知带来了计算上的极大开销,在图形学的实时应用中难以普及。但由于该算法的精确性,其在声学和电磁学的模拟计算中则大放异彩。,光柱跟踪和光束跟踪,光柱跟踪效果图,算法简介:,与蒙特卡洛系列的跟踪算法完全不同出发点的一种算法,最早是,1950,年应用于工程领域的热传导计算,,1984,年被康奈尔大学的研究人员修改以用于图形学中的光照模拟。辐射度由于其算法特点被许多游戏引擎采用。,算法思想:,前提:假设场景中所有表面都具有良好的漫反射特性,1,、把场景中的表面都分割成更小的单位,称为,小块,;,2,、定义每对小块之间的,可视因子,,该因子由小块之间的位置和角度关系决定;,3,、借助于计算好的可视因子,对辐射度进行迭代计算,迭代的次数正好对应模拟光线反弹的次数,由辐射度计算结果来产生颜色和亮度。,辐射度方法,算法特点:,1,、对于暖色调的场景,辐射度算法由于特别适用于漫反射模型,因此能产生很逼真的效果,2,、辐射度算法是不依赖于视平面的位置和角度的,因此计算一次可视因子就可以了,3,、辐射度是以逐次迭代的方式来细化场景的,因此当迭代到可以接受的效果时,就可以结束迭代,辐射度方法,迭代次数对应光线反弹的次数,小块粒度过大会导致锯齿现象,辐射度计算公式:,辐射度方法,辐射度方法迭代计算过程:,辐射度方法,可以选择发光量比较多的表面开始迭代,辐射度方法,直接光照和辐射度方法的对照,针对路径跟踪方法提出的改进方法,时、空上均优化,在路径采样的过程中,自适应地生成后续的更多的采样路径,采用的策略就是对贡献度比较大的路径进行路径变异来生成新的采样路径。,MLT,双向路径跟踪,40,条路径,/,像素,MLT,MLT,方法,平均,250,条变异路径,/,像素,MLT,不再是机械地从每个像素投射出同样数量的路径,而是根据接受的路径数量的情况来选择各个像素需要生成的采样路径的数量,而且新的采样路径是从原有路径转移过来的,生成速度也快得多;,MLT,MLT,方法,平均,100,变异路径,/,像素,可以实现刻蚀效果,MLT,更奇妙的地方在于,这样的变异路径可以更智能的方式去生成。,双向路径跟踪,210,路径,/,像素,光子贴图,针对蒙特卡洛光线跟踪提出的改进算法,目的:,产生优化的取样方向,减少阴影光线数量,渲染刻蚀效果(例如水面的斑驳亮光),减少反射光线数量,光子贴图,实现步骤一:,产生,2,张光子贴图,-,刻蚀光子贴图和全局光贴图,刻蚀光子贴图:使用,高密度,的光子簇,只向高光泽的物体表面进行碰撞计算,首次碰撞就将光子记录下来,全局光子贴图:使用相对较,低密度,的光子簇,对所有物体表面进行碰撞计算,并根据碰撞情况对光子分类,首次碰撞记录为直接光子,多次穿透碰撞记录为阴影光子,反射碰撞记录为间接光子,注:碰撞后光子的受影响情况可采用类似,俄罗斯转盘,方式来计算,光子的存储可采用平衡,K-D,树结构,将,2,张贴图存储,用于下个步骤,光子贴图,实现步骤二:,使用蒙特卡洛光线跟踪法来进行光照模拟,在模拟计算过程中借助于光子贴图来加快模拟。,计算遵循的原则:,对于,观察较敏感的表面,采用精确的计算公式,对于不敏感的表面采用近似的简化公式,基于图像的光照,(IBL),原理图,基于图像的光照,IBL,场景中,:,药瓶表面的光泽可以看出周围环境,显微镜模型受全局光照显得格外逼真,注意,:,除了,IBL,之外还使用了光线跟踪,(RT),,,阴影的效果就是由光线跟踪产生的,基于图像的光照,IBL,IBL,实现步骤一,:,获取一个用来投射到包围环境(一般是包围球)中的全角照片,什么是全角照片?,通俗的说,在某个位置拍摄的反映其四周环境的照片,如何获取全角照片?,方法一:,将一个镜面反射性质的球放在场景中,然后拿个照相机给这个球拍照,方法二:,使用广角拍取空间中六个方向的照片,然后拼接在一起(可以借助,RealVizs Stitcher,),方法三:,使用网上已有分享的现成的全角照片,链接, Wann Jensen, University of California,San Diego,关于全局光照的一系列论文:,http:/graphics.stanford.edu/henrik/papers/,百度文库关于,IBL,的一种实现的文章:,
展开阅读全文