- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
整体光照PPT
光照模型——整体光照模型 计算机图形学——真实感图形 徐健 导师: 合肥工业大学数学学院 2016年12月23日 一、整体光照模型的介绍 二、Ray tracing算法原理 三、光线与物体的求交 四、Ray tracing算法OpenGL程序 光照模型——整体光照模型 1. OpenGL光照模型: 在光照中首先是光源,要有光源才能产生光线,才有以后一系列反射,折射,散射等效果。 OpenGL光照模型把光照分为4个独立的部分:环境光,散射光,镜面反射光和发射光。这四种光被分别计算,然后被叠加起来。 一、整体光照模型的介绍 OpenGL在处理光照时把光照系统分为三部分,分别是光源、材质和光照模型。 光源、材质和光照模式都有各自的属性,尽管属性种类繁多,但这些属性都只用很少的几个函数来设置,比如: 使用glLight*函数可设置光源的属性, 使用glMaterial*函数可设置材质的属性, 使用glLightModel*函数可设置光照模式。 (详见PPT:OpenGL光照和材质) 局部光照模型只能处理直接光照,为了对环境中物体之间的各种反射、折射光进行精确模拟,需要使用整体光照模型。相对于局部光照模型,整体光照模型可表示为 Iglobal=KR*IR+ KT*IT 其中Iglobal为非直接光照对物体上一点光强的贡献;IR为其他物体从视线的反射方向反射或折射来的光强,KR为反射系数;KT为其他物体从视线的折射方向折射或反射来的光强,IT为折射系数。将Iglobal与局部光照模型的计算结果相叠加,就可以得到物体上点的光强。 光线跟踪算法是典型的整体光照模型,是生成真实感图形的主要算法之一,该算法原理简单,实现方便,并且能生成各种逼真的视觉效果。 Witted光照模型见文件夹,网上搜的相关材料以截图的形式保存参考。 2. 整体光照模型: 一、整体光照模型的介绍 整体光照和局部光照模型: 一、整体光照模型的介绍 从视点观察到的物体A表面的亮度来源于三方面的贡献: 1.光源直接照射到A的表面,然后被反射到人眼中的光产生的。 2.光源或其它物体的光经A物体折射到人眼中的光产生的。 3.物体B的表面将光反射到物体A的表面,再经物体A的表面反射到人眼中产生的。 局部光照模型仅考虑了第一个 一、整体光照模型的介绍 二、Ray tracing算法原理 三、光线与物体的求交 四、Ray tracing算法OpenGL程序 光照模型——整体光照模型 二、Ray tracing算法原理 四种光线:视线、阴影测试线、反射光线、折射光线(借助该图说明过程) 1. 基本过程: Ray tracing算法的光强计算: 光线E与物体表面交与点P时,光在点P对光线V方向的贡献分为三部分:由光源产生的直接的光线照射光强,是交点处的局部光强;反射方向上由其他物体引起的间接光照光强,通过对反射光线的递归跟踪得到;折射方向上由其他物体引起的间接光照光强,通过对折射光线的递归跟踪得到;把上述三部分光强相加,就是该条光线E在P点处的总的光强。 Ray tracing算法的基本思想如下: 对于屏幕上的每个象素,跟踪一条从视点出发经过该象素的光线,求出与环境中物体的交点。 在交点处光线分为两支,分别沿镜面反射方向和透明体的折射方向进行跟踪,形成一个递归的跟踪过程。光线每经过一次反射或折射,由物体材质决定的反射、折射系数都会使其强度衰减,当该光线对原象素光亮度的贡献小于给定的阈值时,跟踪过程即停止。 二、Ray tracing算法原理 2. 光强计算和算法思想: 实际的算法进行过程中,不可能进行无穷的光线跟踪: 算法应用意义上的终止条件有: 1、该光线未碰到任何物体 2、该光线碰到了背景 3、光线在经过许多次反射和折射以后,就会产生衰减,光线对于视点的光强贡献很小 4、光线反射或折射次数即跟踪深度大于一定值 二、Ray tracing算法原理 3. 终止条件: 一、整体光照模型的介绍 二、Ray tracing算法原理 三、光线与物体的求交 四、Ray tracing算法OpenGL程序 光照模型——整体光照模型 三、光线与物体的求交 几何解法示意图1: 由于光线跟踪算法用到大量求交运算,因而光线与物体求交是光线跟踪算法的核心。这里以球为例:代数解法和几何解法。 三、光线与物体的求交 几何解法示意图2: 一、整体光照模型的介绍 二、Ray tracing算法原理 三、光线与物体的求交 四、Ray tracing算法OpenGL程序 光照模型——整体光照模型 1. 光线跟踪算法伪代码 RayTracing(start(光线起点), direction(光线方向), weight(衰减权值), color) {if ( weight
文档评论(0)