光照模型作业_第1页
光照模型作业_第2页
光照模型作业_第3页
光照模型作业_第4页
光照模型作业_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、光照模型作业摘要:计算机如何生成三维形体的真实图形是计算机图形学研究的重要内容之一,光照模型 是真实感图形技术的重要组成部分,它主要研究的是如何根据光学物理的有关定律,采用计 算机来模拟自然界中光照明的物理过程。本文通过对光源特性和物体表面特性、局部光照模 型和整体光照模型的具体分析,完成对光照模型的系统阐述。关键词:光源特性、局部光照模型、全局光照模型、真实感图形Abstract:Keywords: source characteristics, local 川umination model, global 川umination model, realistic graphics1引言:真实

2、感图形学作为一种图形生成技术,一直是计算机图形学研究的前沿领域,其中 光照模型的研究对真实感图形的生成至关重要。物体表面的色彩和明暗变化主要和两个因素 有关,即光源特性和物体表面特性。计算机图形学的光照模型分为局部光照模型和全局光照 模型。2 光源特性与物体表面特性2.1 光源特性(1)光的色彩光的色彩一般用红、绿、蓝三种色光的组合来描述。三种色光按不通过比例合成便形成光的 不同色相,因此,色光可视为坐标空间中由红(R)、绿(G)、蓝(B)三色光构成的一个 点,表达式为:color_light=(I r, I g , I b)其中IrIg, Ib分别为R, G, B三色光的强度。(2)光的强度

3、光的强弱由RGB三色光的强弱决定,三色光在总光强中的权值各不相同。总的光强I为:I=0.30 Ir+0.59I g+0.11I b由此可见,各色光对总光强的权值大小依次为0.30、0.59、0.11.(3)光的方向按照光的方向的不同,可以将光源进行分类,一般可以分为:点光源、分布式光源和漫射光 源。点光源分布式光源漫射光源2.2 物体表面特性(1)反射系数物体表面的反射系数由物体表面的材料和形状决定。反射系数分为漫反射(Diffuse Reflection)系数和镜面反射(Specular Reflection)系数。漫反射系数记为Rd,表明当光射向物体表面时物体表面向各个方向漫反射该光线的能

4、力。Rd可以分解为Rd-r、Rd-g、Rd-b,分别为物体表面对入射光线中红、绿、蓝三种成分的反射能力。Rd-r、Rd-g、Rd-b不同比例描述了物体表面的色彩,Rd介于01之间。镜面反射系数记为W( i), 表明物体表面沿着镜面方向(与光线入射角度相同、方向相反)反射光线的能力。其中,i 为入射角,即入射光线和表面法线的夹角。物体的镜面反射系数是入射角的函数。实验表明,镜面反射光线的色彩,基本上是光源的色彩。因此,物体表面的颜色,主要是由光源的色彩和物体表面的漫反射系数来模拟。在光线的照射下,光滑物体会形成一片非常亮的区域,称为高光区域。物体表面光滑,高光区域小,亮度很高;物体表面粗糙,高光

5、区域大,亮度很低。2 2) 透射系数透射系数记为Tp,用来描述物体透射光线的能力,并且 00丁01,当丁=1时,物体是完全透明的;当=0 时,物体是完全不透明的。( 3)表面光照物体表面的方向用法线n 来表示。多面体物体表面上每个多边形法线表示为n=(A,B,C).其中A,B,C,是多边形平面方程中x,y,z的系数。3 局部光照模型局部光照模型是一种比较简单的光照模型,局部光照明模型只考虑光源直接照射到物体表面产生的光照效果, 物体基本不透明且各表面的反射率是常数. 局部光照明模型中, 物体表面的反射光分为漫反射光和镜面反射光; 漫反射光可以认为是光穿过物体表面被吸收后, 余下的重新向外各各方

6、向均匀发射的光, 所以在任何方向的漫反射光强度都相同. 镜面反射光由入射光在物体的表面的直接反射, 镜面反射光沿镜面反射主方向最强, 主方向周围逐渐衰减, 形成一定的可观察区域.局部光照模型是与光栅化渲染算法相适应的,光栅化算法一次只考虑一个像素点的光照强度,因此局部光照模型不能计算某像素受其他像素影响的光照强度部分。也就是说,局部光照模型只对物体进行直接光照的计算,而不考虑其他的间接影响。局部光照模型在决定到达观察者眼中的反射光的光照强度时只考虑到达表面的入射光线和表面法向。典型的局部光照模型包括 Lambert 漫反射模型,Phong 模型,改进的Blinn-phong 模型和 Cook-

7、Torrance 模型等。3.1 漫反射模型- Lambert 模型3.11 环境光是对光照现像的最简单抽象,因而局限性很大。它仅能描述光线在空间中无方向并均匀散布时的状态。很多情况下,入射光是带有方向的,比如典型的阳光。在多数实际环境中,存在由于许多物体表面多次反射而产生的均匀的照明光线,这就是环境光线。环境光线的存在使物体得到漫射照明,例如阴天就可以看做是仅有漫射照明。这时亮度可以如下简单地计算:I = k a - Ia其中是I可见表面的亮度,Ia是环境光线的总亮度,k a是物体表面对环境光线的反射系数, 它在 0 到 1 之间,与表面的性质有关,表明了有多少环境光线从物体的表面反射出去。

8、如果光照射到比较粗糙的物体表面,如粉笔,由于这些表面从各个方向等强度地反射光,因而从各个视角出发,物体表面呈现相同的亮度,所看到的物体表面某点的明暗程度不随观测者的位置变化的,这种等同地向各个方向散射的现象称为光的漫反射(diffuse reflection )。简单光照模型模拟物体表面对光的反射作用。光源被假定为点光源,其几何形状为一个点,向周围所有方向上辐射等强度的光,在物体表面产生反射作用。漫反射光的强度近似地服从于 Lambert定律,即漫反射光的光强仅与入射光的方向和反射点处表面法向夹角的余弦成正比。由此可以构造出Lambert漫反射模型:Idiffuse =Id Kd cos 0I

9、diffuse表示物体表面某点的漫反射光强Id为点光源,Kd(0<Kd<1)表示物体表面该点对漫反射光的反射属性8是入射光线的方向与物体表面该点处法线N的夹角,或称为入射角(008W9 )入射角为零时,说明光线垂直于物体表面,漫反射光强最大;90。时光线与物体表面平行,把环境光模型添加进来,最后,Lambert光照模型可写为:I= IaKa + Id Kdcos 0 = IaKa + Id Kd(L - N)该模型包含环境光和漫反射光3.1.2漫反射的颜色可由入射光的颜色和物体表面的颜色共同设定。例如,在RGB颜色模型下,物体的漫反射系数 Kd的三元组(KdR KdG KdB )分

10、别代表RGB三 原色的漫反射系数,它们设定物体颜色,同样,照射光 I的三元组为(IdR IdG IdB ),通过这 些分量的调整得到不同的彩色光照效果:IR= IaRKaR + fatt IdR KdR(L N) IG= IaGKaG + fatt IdGKdG(L N) IB= IaBKaB + fatt IdBKdB(L N) 3.14 Lambert模型的适用范围适用于:理想漫反射物体,如:石灰墙面、羊皮纸等。不适用于:对诸如金属表面的物体不能描述其镜面反射效果3.2Phong 模型3.2.1镜面反射镜面反射是指来自具体光源的光能到达可见表面上的某一点后,主要沿着由射入角等于反射 角所决

11、定的方向传播,从而使得观察者从不同角度观察时,这一点呈现的亮度并不相同。在 任何有光泽的表面上都可以观察到镜面反射的效果。例如,用很亮的光照射一个红色的苹果, 会发现最亮点不是红色的,而是有些呈现白色,这是入射光线的颜色。这个最亮点就是有镜 面反射引起的。如果观察者移动位置,会看到最亮点也随之移动。这是因为光泽表面在不同 方向对光线的镜面反射是不同的。在理想的光泽表面上,例如在非常好的镜面上,反射光线 只是在由入射角等于反射角所确定的方向上才有。对于不是非常理想的光泽表面,例如一个苹果,反射光线引起的亮度随着Q的增大而迅速下降。由Phong Bui-Tuong提出的明亮模型,用cosn q来近

12、似反射光线引起的亮度随着 q增大而 下降的速率。n取值一般在1到2000之间,决定于反射表面的有关性质。对于理想的反射 表面,n就是无穷大。这里选用cosna ,是以经验观察为基础的。可以得到计算表面亮度的公式:EL+ I jocose 的。n这里可以假定反射光线的方向向量 R和指向观察点的向量 V都已经正规化,即已经是长度为1的单位向量,于是可以简单地利用向量内积计算余弦值:cosgV.R.对,通常根据经验选取一个常数K s来代替,这样公式(5)可写成下面更容易计算的形式:I=LL± LR(lw+k.(rT_反射光线的方向向量R需要计算,为简便,有时用更容易计算的 H N代替R V

13、,得到I=KJa+ LLKMTHKKUr尸3.3Blinn-Phong 光照模型Blinn-Phong 光照模型,又称为 Blinn-phong 反射模型(Blinn -Phong reflection model )或 者 phong 修正模型(modified Phong reflection model ),是由 Jim Blinn 于 1977 年在文 章中对传统phong光照模型基础上进行修改提出的。和传统 phong光照模型相比,Blinn- phong 光照模型混合了 Lambert的漫射部分和标准的高光,渲染效果有时比Phong高光更 柔和、更平滑,此外它在速度上相当快,因此成

14、为许多 CG软件中的默认光照渲染方法。此 外它也集成在了大多数图形芯片中,用以产生实时快速的渲染。在OpenG L和Direct3D渲染管线中,Blinn-Phong就是默认的渲染模型。phong光照模型中,必须计算 的V和R的点积的值值,其中R为反射光线方向单位向量, V为视线方向单位向量,但是在 Blinn-phong光照模型中,用N dot H的值取代了 V dot R Blinn-phong光照模型公式为:I叱=kJ4N*H)%其中N是入射点的单位法向量,H是 光入射方向L和视点方向V的中间向量”,通常也称之 为半角向量。3.4几种光照模型的比较:Lambert模型能够较好地表现粗糙表

15、面上的光照现象,如石灰墙,纸张等等,但是在渲染金属材质制成的物体时,则会显得呆板,表现不出光泽,主要原因是其没有考虑到镜面反射效果,所以Phong模型对其进行了很好的补充。由于 Blinn-phng 光照模型混合了Lambert的漫射部分和标准的高光,渲染效果有时会比Phong高光更柔和,有些人认为phong光照模型比blinn-phong更加真实,实际上也是如此,Blinn-phong 渲染效果要更加柔和一些,但是由于Blinn-phong 的光照模型省去了计算反射光线方向向量的两个乘法 运算,速度更快,因此成为许多 CG软件中默认的光找渲染方法,此外它也继承在了大多数 图形芯片中,用以产生

16、实时的快速渲染。4明暗模型前面的光照模型可用于任何表面上任一可见点。通过计算该点处的表面法线方向及应用光照模型即可确定此点的光照明暗程度。但是,如果整个表面都这样依次计算每点的光照明暗 度,所需的耗费就太大了。因此,需要采取一些有效的方法对整个表面的明暗度进行处理。对多边形和多边形网格的基本明暗处理方法有三种:常数明暗处理法、Gourand和Phong明暗处理算法。4.1 常数明暗处理模型当我们处理多边形集合或多面体时,常数明暗处理模型对每个多边形只计算一个光 照强度值,然后用此值作为整个多边形平面的明暗值赋给多边形的每个象素,使多边形的每 个点都具有相同的明暗度,这种方法称为常数明暗法或平面

17、明暗法 (Flat)。如果使用多边形来滑图形。当把曲面离表面上使用常数明暗在连接处就显得比周作为曲面的近似时,常数明暗处理就很难得出满意的光 散成许多小的平面多边形时,若离散度较粗,在光照的 处理后,两个相邻的多边形会显出凸起或凹陷的折痕," 围处亮或暗,这就是所谓的马赫带效应。4.2 Gourand明暗处理模型Gourand在1971年提出了光强度插值明暗算法。该算法较好地消 除了用常数明暗法处理光强度的不连续性,但是在明暗强度函数的斜 率急剧变化处仍可看到马赫带效应。即Gourand明暗算法不能完全消除光强度的不连续性。Gourand明暗算法的基本思想是在各多边形的公共顶点处,用

18、前面得 到的光照较准确地计算各顶点的反射光的明暗度。而对于各多边形内部各点的明暗度,则使 用线性插值法计算各点的明暗度。9 / 9Gourand明暗处理算法简单,一般可以得到较满意的光滑表面。它的缺点是除了马赫带 效应外,在用周围多边形法线来计算共有顶点的法线时,如果得到相邻顶点的法线平行如图, 采用线性插值法计算出平面上各点的明暗值时会得到:各平面上的明暗值相同,图形会出现 一块光亮的平坦区域。4.3 Phong明暗处理模型Phong明暗算法又称为法线矢量明暗算法。该方法是将多边形顶点处的法线矢量进行线 性插值计算以得到多边形内各点的法线,然后用此插值计算各点的光照明暗度,因而 Phong

19、明暗算法的计算量要大于 Gourand明暗算法的计算工作量。Phong算法较好地模拟了局部范围内的表面弯曲度,得到了很好的曲面效果,尤其在 镜面反射的高光区显得很真实。即使不是镜面反射情况,Phong明暗算法的效果也明显地优于Gourand算法。这是因为它在每点进行了光照模型的计算,因而大大地减轻了马赫带效应。 但是由于每次插值计算后的法线矢量在代入光照模型前都需要单位化,因而也大大地增加了 计算工作量。5整体光照模型物体的简单光照模型,只考虑了光源和被照表面的朝向,忽略物体间光线的相互影响。而从 整体考虑,场景中其他物体反射或投射来的光以及折射光,对另一物体而言则是光源。为增 强图形真实感,

20、精确模拟光照效果,应考虑四种情况,镜面反射到镜面反射、镜面反射到漫 反射、漫反射到镜面反射、漫反射到漫反射。对于透射,分为漫透射与规则透射。这种考虑 整个环境总体光照效果和各种景物之间互相映照或透射的情形,称为整体光照模型。5.1 Whitted 模型5.1.1 Whitted光照模型在Phong模型中增加了镜面反射和折射光两个因素:它除了考虑光源照射引起的反射光到达观察者的亮度之外还考虑从场景中其他景物镜面反射或透射来的光亮度,因此需要采用光线跟踪算法。景物表面P点向观察者辐射的光亮度由3部分组成,Whitted整体光照模型可表述如下如下: I=Ic+KsIs+KtIt1c 光源直接照射P点

21、引起的亮度,由Phong模型计算。Is、 Ks 其他景物因镜面的反射而向P 点辐射的光亮度;Ks 为 P 点的反射系数。It、Kt其他景物因折射而向P点辐射的光亮度;Kt为P点的折射系数。5.1.2光线跟踪算法:光线跟踪算法是典型的整体光照模型,是生成真实感图形的主要算法之一,该算法原理简单,实现方便,并且能生成各种逼真的视觉效果。光线跟踪算法最先由Goldste、 Nagel 和Appel等人提出,Appel用光线跟踪的方法计算阴影; Whited和Kay扩展了这一算法,用于 解决镜面反射和折射问题。5.2.1 算法的基本思想如下:对于屏幕上的每个象素,跟踪一条从视点出发经过该象素的光线,求

22、出与环境中物体的交点。在交点处光线分为两支,分别沿镜面反射方向和透明体的折射方向进行跟踪,形成一个递归的跟踪过程。光线每经过一次反射或折射,由物体材质决定的反射、折射系数都会使其强度衰减,当该光线对原象素光亮度的贡献小于给定的阈值时,跟踪过程即停止。光线跟踪的阴影处理也很简单,只需从光线与物体的交点处向光源发出一条测试光线,就可以确定是否有其他物体遮挡了该光源(对于透明的遮挡物体需进一步处理光强的衰减),从而模拟出软影和透明体阴影的效果。光线跟踪很自然地解决了环境中所有物体之间的消隐、阴影、镜面反射和折射等问题,能够生成十分逼真的图形,而且算法的实现也相对简单。但是,作为一种递归算法其计算量十

23、分巨大。尽量减小求交计算量是提高光线跟踪效率的关键,常用的方法有:包围盒、层次结构及区域分割等技术。光线跟踪是一个典型的采样过程,各个屏幕象素的亮度都是分别计算的,因而会产生走样,而算法本身的计算量使得传统的加大采样频率的反走样技术难以实用。5.1.2 象素细分是一种适用于光线跟踪的反走样技术,具体方法是:首先对每一象素的角点用光线跟踪计算亮度;然后比较各角点的亮度,若差异较大,则将象素细分为4 个子区域,并对新增的5 个角点用光线跟踪计算亮度;重复比较与细分,直到子区域各角点亮度差异小于给定的阀值为止;最后加权平均求出象素点的显示亮度。5.1.3 与象素细分不同,Cook、 Porter 和 Carpenter 提出的分布式光线跟踪是一种随机采样的方法,在交点处镜面反射方向和折射方向所夹的立体角内,按照一定的分布函数同时跟踪若干根光线,然后进行加权平均。Cook 等人还提出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论