光照明模型及表面绘制算法.课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《光照明模型及表面绘制算法.课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 照明 模型 表面 绘制 算法 课件
- 资源描述:
-
1、2022-6-81光照明模型及表面绘制算法(Illumination & surface rendering)2022-6-82本节内容 一、光照明模型一、光照明模型二、二、曲面绘制算法曲面绘制算法三、三、阴影生成阴影生成2022-6-83问题的提出)coscos(1insidliiMiaakkIfIkI已知:表面上一点的光亮度值计算公式:sjisjiijiVNDKEVNdLNDKII)( )()(求表面绘制结果仅有光照模型是不够的!或2022-6-84绘制方法对表面上不同点应用光照公式的过程称为明暗处理(shading )过程,或称为绘制或渲染(rendering)过程绘制方法局部光照模型的
2、绘制Gouraud Shading phong Shading全局光照模型的绘制光线跟踪(ray tracing)方法辐射度方法(Radiosity method)2022-6-85Gouraud 明暗处理 原理:在表面点集的子集上使用光照明公式,计算该点的光亮度值;在其它点上的光亮度值可通过已计算点的光亮度值插值计算得到实现步骤:表面多边形网格表示(常用三角网格)在网格顶点处应用光照模型计算其光亮度值对顶点光亮度值进行插值得到网格内部点的光亮度值2022-6-86三角网格表示的表面顶点数18429,三角形36858顶点数26101,三角形500002022-6-87网格顶点光亮度的计算关于顶
3、点法向已知未知:定义为其相邻面片的法向的平均值)coscos(1insidliiMiaakkIfIkI2022-6-88网格内点光亮度的双线性插值加速计算?假设光亮度值线性变化2022-6-89续:2112IIIIyy更进一步,引入增量计算增量计算加速插值计算速度已知y扫描线上端点的亮度为I,则y-1扫描线上端点的亮度为:2022-6-810优缺点分析光亮度的线性插值算法:优点克服了常数绘制模式带来的亮度不连续问题缺点不能正确模拟高光效果产生马赫带(Mach bands)效应光亮度变化不连续的边界处呈现亮带或黑带2022-6-811Phong明暗处理思想:对表面上的每一点应用光照模型步骤:对离
4、散的法向量采样作双线性插值,构造连续的法向量函数;将连续的法向插值函数代入光亮度计算公式,得到一个非线性的光亮度插值公式。2022-6-812图示2022-6-813加速shading技术当使用三角形表示物体表面时,可使用三角形插值加速计算。xyp)0 , 0(1p)0 , 1 (2p) 1 , 0(3p建立三角形仿射坐标系222111cybxacybxa仿射坐标变换公式2022-6-814续:则在仿射坐标下,光亮度双线性插值公式可写为:321)1 (),(IIIyxI11IN22IN33IN代入仿射坐标变换公式,得到:121322112132211213221)1 ()()(),(IccIc
5、IcCIbbIbIbBIaaIaIaACByAxyxI其中上式可容易地使用增量法进行计算2022-6-815续:同样可进行法向量的双线性插值计算:121322112132211213221321)1 ()()()1 (),(NccNcNcCNbbNbNbBNaaNaNaACByAxNNNyxN其中2022-6-816全局光照明模型的绘制算法光线跟踪(Ray tracing)辐射度方法(Radiosity method)2022-6-817基本原理快速算法:快速算法:基于层次包围盒的快速光线跟踪算法基于层次包围盒的快速光线跟踪算法基于空间剖分的快速光线跟踪算法基于空间剖分的快速光线跟踪算法光线跟
6、踪算法 2022-6-818Durers 投射机(Ray casting machine)Albrecht Durer, 16th 世纪2022-6-819Durers Ray casting machine2022-6-820投射法步骤从眼睛向每一个像素构造射线对场景中的每一个对象找到与相应射线相交与眼睛最近的交点计算该交点的法线方向在该点应用光照明模型 (如 Phong)光线跟踪的基本原理光线跟踪的基本原理DtABsAcAAIkIkII问题:问题:1 1)如何寻找)如何寻找B B,D D:光线跟踪:光线跟踪 2 2)如何计算)如何计算I IB B,I ID D:递归过程:递归过程 3 3)
7、受遮挡时的计算:阴影测试)受遮挡时的计算:阴影测试 眼睛 光线跟踪终止条件光线跟踪终止条件视线射出画面,不再与场景中的景物相交视线射出画面,不再与场景中的景物相交被跟踪的结点对屏幕象素显示光亮度的贡献小被跟踪的结点对屏幕象素显示光亮度的贡献小于一定阈值于一定阈值达到光线跟踪的最大深度达到光线跟踪的最大深度 眼睛 2022-6-823算法描述算法描述1 1由视点向屏幕上所有象素中心发射光线;由视点向屏幕上所有象素中心发射光线; 2 2每一根光线与场景中所有景物求交,找到最近每一根光线与场景中所有景物求交,找到最近的交点;的交点; 3 3计算该点处由光源直接照射产生的光亮度计算该点处由光源直接照射
8、产生的光亮度I Il l; 4 4若该点处表面为镜面或透射面,则作递归光线若该点处表面为镜面或透射面,则作递归光线跟踪,计算周围环境通过该点向观察者方向投跟踪,计算周围环境通过该点向观察者方向投射的整体镜面反射光亮度射的整体镜面反射光亮度I Ir r和透射光亮度和透射光亮度I It t; 5 5显示每一象素处的光亮度显示每一象素处的光亮度 trlIIII2022-6-824算法分析算法分析求交计算量占整个光线跟踪计算量求交计算量占整个光线跟踪计算量90%90%以上以上 减少求交计算量的方法减少求交计算量的方法 包围盒方法包围盒方法 空间剖分方法空间剖分方法 2022-6-825基于层次包围盒的
9、快速光线跟踪算法基于层次包围盒的快速光线跟踪算法包围盒:以简单的测试代替光线对包围盒内所含景包围盒:以简单的测试代替光线对包围盒内所含景物的复杂求交运算物的复杂求交运算目标:目标: 快速剔除不交的物体快速剔除不交的物体对包围盒形状的要求:对包围盒形状的要求: 包裹要紧密包裹要紧密 求交测试要简便求交测试要简便 问题转化为:问题转化为: 包围盒的构造包围盒的构造 光线与包围盒求交光线与包围盒求交2022-6-826思考题包围盒的形状选择包围球包围盒的求交测试顶点包含在多边形内的测试层次包围盒的构造原则。2022-6-827基于空间剖分的快速光线跟踪算法基于空间剖分的快速光线跟踪算法算法基本流程算
10、法基本流程将空间划分为网格,光线只与它将空间划分为网格,光线只与它 所穿过的空间网格中所含景物进行求交所穿过的空间网格中所含景物进行求交利用空间网格的邻接性质,引导光线从一个网格进利用空间网格的邻接性质,引导光线从一个网格进入它将穿过的下一网格入它将穿过的下一网格一旦发现光线与景物的第一个交点,即结束求交。一旦发现光线与景物的第一个交点,即结束求交。 2022-6-828问题空间网格的划分技巧?表示空间网格的数据结构如何构造?如何通过预处理过程加速显示过程?。2022-6-829绘制实例2022-6-830光线跟踪算法的特点优点:真实感:考虑了环境中各物体之间的反射影响;实现了消隐:在光线跟踪
11、过程中自然实现了消隐;可实现阴影效果:从表面上一点向光源发射一条阴影探测线。如果该光线在到达光源之前与场景中的任意不透明面相交,则该点处于阴影中,反之不然。可并行实现:各条光线的处理过程可独立进行。缺点:计算量非常大,显示速度慢依赖视点,当视点改变时需要重新计算(如何改进?)2022-6-831光能辐射度方法与视点无关的绘制方法!光能辐射度方法步骤辐射度方程的建立形状因子的求解辐射度方程的求解画面绘制光能辐射度方程逐步求精算法2022-6-832漫射场景的光能辐射度方程漫射场景的光能辐射度方程 假定场景为一封闭的理想漫反射环境假定场景为一封闭的理想漫反射环境 对于场景中任一面片对于场景中任一面
12、片j, j, B Bj j = E = Ej j+j j H Hj j 其中:其中: 为面片为面片j j单位面积上向四周辐射的辐射度单位面积上向四周辐射的辐射度 为面片为面片j j自身向外均匀发射的光能自身向外均匀发射的光能 为面片为面片j j的漫反射系数的漫反射系数 为面片为面片j j单位面积从周围环境接受的总的光能单位面积从周围环境接受的总的光能 jBjEjjH280.cosppIdIB彭群生等实感图形的算法基础推导过程见计算机真注:2022-6-833 计算计算: : jH 是周围环境其它面片辐射度是周围环境其它面片辐射度 ( )( )的的函数,函数, jHiBjiNi , 1面片面片i
13、 i向四周辐射的总的光能为向四周辐射的总的光能为B Bi iA Ai i , ,其中一部分到达面片其中一部分到达面片j j,记为,记为B Bi iA Ai iF Fijij 到达面片到达面片j j单位面积上的光能为单位面积上的光能为B Bi iA Ai iF Fijij /A /Aj j ,故故NijijiijAFABH1NijijiijjjAFABEB12022-6-834F Fijij 的计算的计算 F Fijij 称为面片称为面片i 对面片对面片j 的形状因子,的形状因子, 现在考虑面元现在考虑面元dAi 对面元对面元dAj 的形状因子,的形状因子,面元面元dAi 向四周辐射的总的光能向
14、四周辐射的总的光能B Bi idAi在无遮挡的情况下,面元在无遮挡的情况下,面元dAi 向面元向面元dAj 辐射的光能为辐射的光能为cosiiiijidB dAIddA ijjiidArdAI2coscosjijiidAdArI2coscos2022-6-835由定义由定义 jjiiiiiiidAdAdArBIdABdAdBFji2coscosjjidAr2coscos对对A Aj j积分得积分得 jjiAjjiAdAdArF2coscos对对A Ai i取平均,即取平均,即 ijjiA AijjiiAAdAdArAF2coscos12022-6-836推论推论: 1 1 jijijiFAFA
15、即即 jijijiAFAF故故 NijiijjjFBEB1(标准辐射度方程)(标准辐射度方程) 2 2 11NjijFNijiijjjFIeI1), 1(Ni 3 3标准辐射度方程两端同除以标准辐射度方程两端同除以 ,得场景各,得场景各面片的光亮度方程面片的光亮度方程 计算形状因子的半立方体方法计算形状因子的半立方体方法形状因子计算公式的几何解释:形状因子计算公式的几何解释: d dA Aj j 对单位半球面作中心投影,其投影区域为对单位半球面作中心投影,其投影区域为 2cosrdAjj该区域垂直投影到半球的底平面上,其投影面积为该区域垂直投影到半球的底平面上,其投影面积为 icos)( 与底
16、平面圆面积之比为与底平面圆面积之比为 ,即,即 。icos)( jjidAr2coscosNiidSiSjSj取取A Ai i的中心点为球心,的中心点为球心,在在A Ai i上方建立一单位半球面。上方建立一单位半球面。jjidAr2coscos2022-6-838引申:对任何在半球面上占据相同投影区域的面片引申:对任何在半球面上占据相同投影区域的面片Ak,面片面片Ai对它们具有相同的形状因子,即对它们具有相同的形状因子,即 ijikFF思路:寻找面片思路:寻找面片Ak,Ak的表面形状,朝向较为规范,的表面形状,朝向较为规范, 计算计算 比较容易,从而将比较容易,从而将F Fijij 的计算转换
17、的计算转换 为为F Fikik的计算。的计算。 2coscosrji2022-6-839 最规范的表面是围绕最规范的表面是围绕Ai ,位于,位于Ai上方的半立方体,上方的半立方体,立方体顶平面与面片立方体顶平面与面片Ai的法向垂直。因此,只要将面的法向垂直。因此,只要将面片片Aj投影到半立方体表面上,投影到半立方体表面上,Ai对其投影面积的形状对其投影面积的形状因子即为因子即为F Fijij。 将半立方体各表面离散为均匀网格,假定每一网格上将半立方体各表面离散为均匀网格,假定每一网格上各点的形状因子不变。面片各点的形状因子不变。面片Ai对每一网格的形状因子对每一网格的形状因子称为半立方体表面的
18、微形状因子。称为半立方体表面的微形状因子。 面片面片Ai对对Aj的形状因子归结为两个问题。第一,确定的形状因子归结为两个问题。第一,确定Aj在半立方体表面上所占网格;第二,计算每一网格在半立方体表面上所占网格;第二,计算每一网格的微形状因子。的微形状因子。 2022-6-840确定确定Aj在半立方体表面上的投影在半立方体表面上的投影 取景变换和背面标志,将取景变换和背面标志,将Aj变换变换到以到以Ai为中心的半立方体局部坐为中心的半立方体局部坐标系中。标系中。 dSiQSjq 对对Aj作区域裁剪,以确定它投影到半立方体哪些表面作区域裁剪,以确定它投影到半立方体哪些表面上。上。 裁剪平面:裁剪平
展开阅读全文