ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:30.20KB ,
资源ID:6105033      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6105033.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第八章 光照模型与面绘制算法.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

第八章 光照模型与面绘制算法.docx

1、第八章 光照模型与面绘制算法第八章 光照模型与面绘制算法对物体进行透视投影,然后在可见面上产生自然光照效果,实现场景的真实感显示。(彩图1.15,1.36 等) 绘制真实感图形涉及物理学和心理学两个方面。 光(电磁能)经过和周围具体环境的互相作用后到达人的眼睛,刺激人的眼睛(在人的眼睛里,发生物理和化学变化),生成人脑所能感知的电脉冲,使我们“看见”物体。一个光照明模型(illumination model)(明暗模型主要用于物体表面某点光强度的计算。面绘制算法(surface-rendering algorithm)是通过光照模型中的光强度计算,确定场景中物体表面的所有投影象素点的光强度。面

2、绘制有二种方法:1 将光照模型应用于每个可见面的每一点(如光线跟踪算法)2 经过少量的光照模型计算,在面片上进行亮度插值(扫描线方法)图形学中的真实感成像包括两部分内容:1物体的精确图形表示;2场景中光照效果的物理描述,如:光的反射,透明性、阴影表面纹理等。光照模型包含许多因素: 1物体类型:物体的透明度, 物体表面可以是光亮的、阴暗的;物体表面的纹理; 2物体相对于光源的位置;3光源的属性:形状、颜色、位置;4观察平面的位置和方向等。光强度的计算量较大,如较精确的计算模型:辐射度算法,考虑场景中光源与物体表面间辐射能量的传递,计算强度。大多数软件包采用简化的光照计算和经验模型(如phong模

3、型,Gouraud模型等)1 光源观察一个不透明不发光的物体时,从物体表面得到反射光.(从光源发出的,或从周围物体获得的)光源:发光物体:灯泡、太阳; 反射光源:房屋的墙壁。有时一个光发物体,既是光源又是反射体,如:一个塑料球内放置一个灯泡,球表面上既发光也反射光。光源分为:1点光源:是发光体的最简单的模型。 如 太阳、小灯泡、 离场景足够远的光源、比物体小得多的光源。 光线由光源向四周发共用散。2 分布式光源:如:日光灯,与场景中面片比不足够小。光线被投射到一个物体后会: 1)被反射:反射光线的强弱由表面的材质类型决定; 2)被吸收; 3)被折射(透明物体)。表面光滑的材质,反射较多的入射光

4、,吸收较少的入射光;表面粗糙的物体往往将发射光向各个方向散射:漫反射(光线的散射现象)。反射包括:1) 漫反射; 粗糙的物体表面将反射光向各个方向散射=从各个视角观察到的光亮度几乎相同。物体的颜色实际上就是入射光线被漫反射后表现出的颜色。如:一束白光照在一个蓝色物体-蓝色被反射其它的被吸收;红光-蓝色物体,物体为黑色(红光被吸收)。2) 镜面反射:磨光的物体表面上产生高光或强光。2、基本光照模型在基本光照模型中,假设所有的光源均为点光源,且已知其位置和光强度(颜色)。它是一中简单有效的方法。在基本光照模型中光线的计算,主要基于物体表面的材质,背景光线条件及光源。一、 环境光一个物体表面即使不直

5、接暴露于光源之下,只要其周围的物体被照明,它也可能看得见。环境光(ambient light): 或称背景光(泛光),是场景的基准光亮度。特点:没有空间或方向上的特征,在所有方向上和所有物体表面上投射的环境光数量恒定不变。表示:Ia ,表示场景中的环境光大小。因而由环境光产生的反射光与观察方向和物体表面的朝向无关。ka:环境光的反射常数(ka :01)由环境光产生的反射光强度: Iambdiff = ka * Ia . 二、 点光源漫反射kd:漫反射率(diffuse reflectivity)漫反射系数, 表示入射光线被漫反射部分的百分比. 与物体各表面的材质属性有关。是物体颜色的函数,设为

6、常数。 理想漫反射体(Lambert反射体):光线被物体表面漫反射后向各个方向以等光强度发散,与观察方向无关. 所以从表面上任意点所发散的光线可由朗伯余弦定律计算而得。(P391图14.8) Ildiff = Rd * Il cos() Il :点光源强度; :入射角;:00-900 光强度决定于它获得的幅射能.面片的光亮度依赖于它与光源的相对朝向,与入射光方向垂直的面片同一个与入射光方向成斜面的面片相比,其光亮程度要大得多(可看成入射光的强度不同).(P391图14.9)N:物体表面的单位法向量L:从表面上指向点光源的单位方向,则cos()=NL;由光源的漫反射光强为:Ildiff = kd

7、 * Il (NL)所以物体的漫反射光强为: Ildiff = ka * Ia + kd * Il (NL).物体离光源近,强度大.物体离光源远,强度小.Ildiff = ka * Ia + kd * Il (NL)/(D+K).K为常数(使分母不为0).(例 P391,P392)三、 镜面反射和Phong模型当观察一个光照下的光滑物体表面,如磨光的金属,可能在某个观察方向上看到高光或强光-镜面反射。在接近镜面反射角的一个会聚区域内入射光的全部或绝大部分成为反射光。镜面反射时, 反射角=入射角(P393 图)对于理想的反射体,当=0时,才能观察到反射光线;(:观察方向与反射方向的夹角)对于非理

8、想反射体系统,其镜面反射方向分布在R周围的有限范围内。 光滑表面的镜面反射范围小,粗糙表面的镜面反射范围大。Phong镜面反射模型:(Phong模型):镜面反射光强度与cos()成正比.: 00-900镜面反射参数ns:由被观察的物体表面材质所决定.ns大:光滑表面 , ns 100, 理想的反射器 ns - ns小:粗糙表面, ns/2(不共面时) +(-) = +四、 多光源漫反射和镜面反射的合并单个点光源,表面上某点处的漫反射和镜面反射为 I = Ildiff + Ispec = ka * Ia + kd * Il (NL) + ks*Il*(NH) ns.若在场景中放置多个点光源 I

9、= Ildiff + Ispec = ka * Ia + Ili (kd *(NL) + ks*(NH) ns).为了保证每个象素的光强度不超过某个上限,采取一些规范化操作。1) 对光强度计算公式设置上限,超过上限,取上限(简单);2) 将各项除以最大项的绝对值;3) 计算出场景中各象素的强度,然后按比例变换到正常的光强范围内(复杂)。五、 Warn模型Warn模型提供一仲模拟立体光照效果的方法,它是通过在多个方向上控制光强度来实现。在Warn模型中,光源被表示为一个反射面上的许多点,对各点采用phong模型进行计算,通过设置phong模型中各项的值来控制不同方向上的光强度。六、 强度衰减光线

10、从一点光源出发在空间中传播时,它的强度按 1/d2 进行衰减(d为光线经过的路程长度).所以在真实感图形显示中, 光照明模型中必须考虑光强度的衰减。如果不考虑光强度的衰减,二个有相同光学效果的平行表面互相遮挡时,它们将无法被区分开来,显示成为一张面。但不可简单地用 1/d2 作为衰减因子。常用的二次衰减函数的倒数: f(d)=1/(a0+a1d+a2d2) 调整a0、a1、a2的值,可得到场景中不同的光照效果。 a0的作用:防止d很小时, f(d)太大 f(d)=min(1, 1/(a0+a1d+a2d2)基本光照模型: I= ka * Ia + f(di)Ili (kd *(NL) + ks

11、*(NH) ns).di : 光线从点光源Ii出发所经过的路程. 七、 颜色在RGB描述中,场景中的每个颜色用R、G、B三个分量表示,用RGB各分量来标识光源强度和物体表面颜色,并据光照模型来计算反射光线中的RGB分量。1) 反射系数标识为三元分量 kd =(kd R,kd G,kd B), 物体为蓝色 0kd B1, kd R =0,kd G =0 I B = ka B * IaB + f(di)IlBi (kd B *(NL) + ks B*(NH) ns).2) 每个表面定义漫反射和镜面反射的颜色向量,将反射参数定义为单值常数; I B = ka*Sd B*IaB +f(di)IlBi(

12、kd *SdB*(NL)+ks*SsB*(NH) ns). 漫反射颜色分量:(SdR ,Sd G, SdB)镜面反射颜色发量(SsR,SSG, SSB)3) 使用光谱波长入来表示彩色中的各分量(各种波长的光的反射系数不同)I = ka*Sd*Ia+f(di)Ili(kd *Sd*(NL)+ks*Ss*(NH) ns).八 透明度透明物体的表面会产生反射光和折射光,折射光的相关贡献决定于表面的透明程度,(透明表面后是否有光源或表面)要表示一个透明表面时,将穿过表面的光线的贡献包括进去。(彩图14.26)图P398 14.25折射率:定义为光线在真空中的速度与其在物质中速度之比率。P398 图14

13、.27 sin()=sin().折射的最终结果是将入射光线进行平移.透射方向 T = (cos() - cos()N - L = - cos()N + sin()(N cos()-L)/ sin().T可用于计算折射光与透明面片后的物体的交点.将折射效果考虑在场景显示中,可生成高度真实感的图形,但计算量相当大。在实际操作中,简化,不考虑折射导致的路经平移,(即物体间折射率不变,入射角=折射角)以加速光强度的计算。透明系数 kt, 0kt1 标识多少背景光线被透射物体表面的总光强: I =(1- kt)Irefl + kt ItransIrefl :反射强度(透明表面) Itrans : 透射强

14、度(背景物体) kt =0 :不透明面 kt =1 :高度透明面 1- kt 为透明因子马赫带效应(奥地得物理学家):当观察画面上具有常数光强的区域时,在其边界处眼睛所感到的明亮度常常会超出实际值,它使得光强为常数的区域看上去似乎是光强度发生了变化(更暗或更暗)九 阴影当观察方向与光源方向重合时,观察者看不到任何限影,但当二者不一致时,就会出现限影,限影歙人感到画面上景物的远近深浅,从而极大地增强画面的真实感。阴影由二部分组成:本影 位于中间的全黑的轮廓分明的部分,点光源只产生本影 半影 本影周围半明半暗的区域,位于有限距离内的分布光源则同时形成本影和半影阴影分二类:自身阴影 物体自身的遮挡使

15、光线照不到它上面的某些面,自身隐藏面 投射阴影 物体遮挡光线,使场影中位地它后面的物体或区域受不到光照而形成 P388例可以光源投射光线将所胡非自身隐藏面投影到场景中而得到投影面与场景中其它平面的交线组成阴影多边形(实际上,只需先找到物体的轮廓线并将它对场景作投影,而不必将所有非自隐藏面一一投影到场景中。阴影决定于光源的位置而与观察者的位置无关,可将阴影看作表面图案而保存在模式数组中。3 光强度显示由光照模型计算出的光强度值必须转换为特定的图形系统中的一种强度等级,才能进行显示系统:多种强度等级:光强度=帧缓冲器中的强度等级 每个象度显示二个等级(开、关)强度=半色调模式一 分配强度等对光强度

16、的感觉是按对数等变化5、多边形缓制算法物体通常用多边形网格来逼近曲面体(或仅是多面体)扫描线算法从光照模型来实现多边形面片的绘二种方法:将每个多边形用单一光强来绘制 用扫描法得到面上各点的光强度一 恒定光强度的明暗处理又称平面明暗处理(flst shading)每个多边形均对应一个光强度,即面上所有均用相同的强度值来显示,速度快,对于快速显示一个曲面的大致外观很有效适用条件:1、物体是一个多面体,而不是含曲面物体伯近似表示 2、光源离物体表面足够远,以使N、L与和衰减函数对物理表面是一个常数 3、视点离物体表物足够远,使N、R对表面是常数即使以上条件均不成立,可以每个小面片中心的光强度值作为该

17、面片的值二、Gouraud明暗处理采用强度插值模式在面片上将光强度值进行线性插值来绘制多边形面片,每个多边形的强度值沿着化共边与相邻多边形的值相接以消除在平面绘制中存在的光强度不连续现象。Gouraud明暗处理的步骤:1、 确定每个多边形顶点处的平均单位法向量2、 对每个顶点根据光照模型计算光强度3、 在多边形表面上将顶点光强进行线性插值1) 顶点V的法向量2) 确定V点的光强度(运用光照模型)3) 沿多边形边对强度进行插值对每条扫描线与多边形的交点处的强度值通过二个端点的强度插值得到4) 下一扫描线可用增量法插值计算当表面用彩色进行绘制时,顶点处需计算各个颜色分量的强度P399例5) 不足:

18、线性光强度插值会造成表面上出现过亮或过暗的条纹,称为马赫带(mach-band)效应面上的高光有时会出现异常形状。三、 Phong明暗处理(仍属于线性插值)(法向量插值明暗处理)多边形面绘制的一个更精确的方法是对向量插值,然后在面上各点处理根据光照模型进行计算。它能更真实地表现物体表面的高光效果并大大降低马赫带效应。Phong明暗处理的步骤:1、 确定每个多边形顶点处近似单位法向量2、 在多边形面上将顶点法向量进行双线性插值3、 根据光照模型沿每条扫描线计算面上各点的强度1) 先求出A、B、C、D处的法向量线性求出Q、R处的法向量,线性插值求出P点的法向量沿扫描线各象表处的法向量可按增量方法计

19、算二个相邻的象素位置Phong模型与Gouraud模型对光强度的计算结果精确,但增加了大量的计算。四、 快速Phong明暗处理采用近似计算来加快速度利用Taylor一层式和三角形面片来近似计算光强度1、 求得三角面片各顶点法向量2、 三角形中任意点(x,y)处的表面法向量N=Ax+By+C3、 忽略反射率的衰减函数点(x,y)处的光源漫反射对一个平面来说是确定值(对三角形内的点)Idiff(x,y)为二次多项式,利用向前差分,二阶差分为常数,对每个象素仅需二次加法的计算量,大大降低了计算量,但仍相当于Gourand模型2倍的时间。6 光线跟踪算法光线跟踪(Ray tracing)是光线投射思想

20、的延伸,基本光线跟踪算法为可见面判别,明暗效果,透明及多光源照明等提供了可能。光线跟踪技术虽然能够生成高度其实感的图形,特别是对于表面光滑的物体,但它所需的计算量却大得惊人。一、 基本光线跟踪算法1、 建立一个以投影面为xy平面的坐标系统,在该坐标系内对场景进行描述。2、 从投影中心出发,确定穿过每个屏幕象素中心的光线路经,沿这束光线累计光照度,并净最终值赋给象素。物体表面该绘制算法建立于几何光学基础上场景中的面片所发出的光向四周散射,将有无数条光线穿过场景,但只有少量将穿过投影平面的象素单元。从象素单元出发,反向跟踪一条向由它出发射向场景的光线并同时累计得到该象素的光强度值每象素只考察一束光

21、线,类似于通过单孔照相机观察场景。一、 生成光线跟踪树1、 对每个象素,光线,需测试场景中的所有物体表面以确定是否与该光线相交,并计算出交点离象素的距离。2、 具有最小距离的交点即为该象素所对应的可见面3、 考察该可见面上的反射光线(反射角=入射角)若透明,还需考察透过该面的折射光线,反射光线和折射光线统称为从属光线(Secondary rays)4、 递归地与沿从属光线方向最近的物体表面上生成下一折射和反折射。如此逐个将相交物体表面加入到一个二叉光线跟踪树中 如P403图14-52树的左分支表示反射光线右分支表示透射光线最大深度可由用户选定或由存储容量决定当树中的一束光线到达预定的最大深度或

22、到达某光源时停止跟踪。3、 计算象素点的光强度值从光线跟踪树的叶节点开始,累计光强度贡献以确定某象素处的光强度,接后序遍历相应的光线追踪树,在树中每个结点处,递归地调用光照模型,每一结点处的光强值在输入到结点之前,按光线与两表面交点之间的距离进行衰减。象素强度是光线跟踪树根结点处衰减光强的总和。球,三角块,立方体均不透明,表面具有高度的镜面反射能力,观察者能看到球立方体的正面,还能看到三角块的几个映象和立方体的背面特别地:1)若光线跟踪树为空,即象素光线与V物体均不相交,光强值为背景色2) 若象素光线与一非反射的光源相交,光强值为光源的强度(距离衰减)二、 光线与物体表面的求交计算光线是一射线

23、:最初 P :投影参考点或投影平面上的某象素点 U :由投影参考点与象素位置确定(单位向量)光线与物体表面相交时 P 由交点代替替 U 由交点处的从属光线代替(反射光线方向R透射光线方向T光线与物体表面相交1、确定物体表面的平面方程(过 法向N)2、若给定一个半径为r,中心为P 的球面,则球面方程 则设则若s0,则光线与球面不相交,否则取较小的s,求出交点 P= 若球半径较小,计算过程中,可能出现误差, 则r 可能被丢失多面体与球面比较,求交时间更长1、 利用包围体作求交测试包围体:球体或立方体光线与包围体不交,则不必对多面体作测试光线与包围体相交,首先找到“前表面”U、N单元小=花较多的时间

24、在单元测试上面数大=一个单元中比较的面数多光线与立方体单求交(仅需与前表面求交)若单元表面法向量与坐标轴对齐则:前表面 出口表面只要检查 分量的符号,即可确定三个可能的出口表面选择最小的S3、 空间方向分割处理考察包含一组光线的夹角区域:在每个区域中,将物体表面进行深度排序每束光线在包含它的区域内对物体测试四、 光线跟踪反走样过采关,适应性采样,每个象素区域中采用多束均匀(过一)、(不均匀,适应性)排列的光线采用随机分布的光线一个象素的光强度通过将各束光线强度取平均值得到7、P417 添加表面细节在物体表面添加纹理以准确地摸拟砖墙布纹、木纹表面的文字,光滑表面的图案两类纹理 1、在光滑表面上描

25、绘附加定义的花纹或图案,花纹绘上后,表面仍然光滑如款,用映射函数描述2、 使表面上呈现出凹凸不平的形状,如葡萄干用一个扰动函数表述,凹凸映射一、 在光滑表面上描绘花纹将纹理模式映射到物体表面上设花纹图案定义在纹理空间中的一个正交坐标系(s,t)纹理空理纹理模式在一个纹理空间(s,t)坐标系中用光强值的矩形网格定义场景中的物体表面定义在对象空间(u,u)坐标系中投影平面上的象素点定义在(x,y)坐标系中用二种方法实现纹理映射:1、纹理模式(s,t)(映射)物体表面(u,u)(映射)投影平面(x,y)2、象素区域(映射)物体表面纹理空间 互逆变换纹理空间对象空间对象空间象素空间 观察变换和投影变换

26、不利因素,选中的纹理面片与象素边界不匹配象素空间=纹理空间的映射象素点=物体表面上的点=纹理空间上的点象素点=阶子式不为0=确定二坐标二、凹凸映射(bump mapping)摸拟粗糙的物体表面使用扰动法向量技术若P(u,u)表示一个参数曲面上的一点设点的法向 单位值向凹凸函数扰动函数b很小则 单位化为将 用于光照模型中计算凹凸函数b(u,u)定义一个可导的解析有为式为了提高速度,通常是产生一个凹凸表b的值可由线性插值和增量法得到bu、bv可由有限次差分近似得到凹凸表建立方法:随机图案 葡萄干 规则网格图案 重复模式 文字形状 文字帧映射(Frame mapping)是凹凸映射的延伸物体表面的局部坐标Fremet标架,曲线 曲面切向 从切向在 方向和 方向的扰动,可模拟木纹图案,布上的穿线图案切线方向上有扰动

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2