计算机图形学 课件 第5章光照和着色_第1页
计算机图形学 课件 第5章光照和着色_第2页
计算机图形学 课件 第5章光照和着色_第3页
计算机图形学 课件 第5章光照和着色_第4页
计算机图形学 课件 第5章光照和着色_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

计算机图形学第五章光照和着色主要内容5.1光线和材质5.2颜色模型5.3光源5.4Phong光照模型5.5多边形着色方案5.6指定光照参数5.1光线和材质从物理的角度来看,有些表面不但能反射光线,而且由于其内部发生的物理过程还能发射光线。当观察对象上的一点时,我们所看到的颜色取决于多个光源和多个反射表面之间的多次相互作用,可以把这个相互作用看成是一个递归过程。如图,从光源发出的到达表面A的那一部分光被表面A向各个方向反射。一部分反射的光线到达表面B,这部分光线又有一部分被表面B反射回表面A,其中又有一部分被表面A反射回表面B,如此不断反射。5.1光线和材质从数学上看,上述过程的极限可以用一个积分方程来描述,即绘制方程(renderingequation)。理论上可以用来求出场景中所有表面的明暗值;一般不能求出解析解,而数值方法对于实时绘制又不够快;可以用辐射度和光线跟踪等方法求出近似解。因此,我们只考察从光源(lightsource)发出的光线,如图。观察者所看到的颜色就只取决与光源和表面材质之间的相互作用。5.1光线和材质在计算机观察中,一般用投影平面代替观察者。投影平面上位于裁剪窗口内的部分场景被映射到显示器上,因此,可以把投影面用直线分割成许多小的矩形,每个小矩形都对应显示器上的一个像素。光源和对象表面的颜色决定了帧缓存中的一个或者多个像素的颜色。5.1光线和材质光线和材质之间的相互作用决定了一个对象所呈现的性状。一般来说,光线与材质的相互作用可以分为三类:镜面反射表面、漫反射表面和半透明表面。镜面反射表面(specularsurface)看起来是有光泽的,这是因为被反射或者散射(scatter)出去的大多数光线的方向都和反射角的方向很接近。镜子是理想的镜面反射表面(perfectlyspecularsurface),可能有一部分人射光线被吸收,但所有反射出去的光线都沿着同一个方向,反射光线的方向服从入射角等于反射角这一规律。5.1光线和材质光线和材质之间的相互作用决定了一个对象所呈现的性状。一般来说,光线与材质的相互作用可以分为三类:镜面反射表面、漫反射表面和半透明表面。漫反射表面(diffusesurface)的特点是把人射光线向各个方向散射。粗糙的或用无光涂料粉刷的墙面是漫反射表面,许多自然材质也都是漫反射表面,例如,从飞机或者卫星上看去,地球表面就是-一个漫反射表面。理想漫反射表面(perfectlydiffusesurface)向各个方向散射的光线的强度都相等,因此不同位置的观察者看到的反射光线都是一样的。5.1光线和材质光线和材质之间的相互作用决定了一个对象所呈现的性状。一般来说,光线与材质的相互作用可以分为三类:镜面反射表面、漫反射表面和半透明表面。半透明表面(translucentsurface)允许入射光线的一部分进入表面并从对象的另一个位置再发射出去。这种折射(refraction)现象是玻璃和水的特征。半透明表面也会反射一部分人射光线。5.2颜色模型光是一种电磁波。人的眼睛只能看到波长在0.38~0.76μm(380-760nm)之间的可见光部分。物理学上的颜色由以下特性描述:主频率(DominantFrequency)或主波长(DominantWavelength):观察光线所见色光的主导波长。纯度(Purity):该颜色主波长的光与白色光的比例。明度或灰度(Luminance):光的能量或光强。1854年,格拉斯曼(H.Grassmann)发表颜色定律,提出从视觉角度颜色包含三个要素:色调(Hue,或色相):一种颜色区别于其他颜色的因素,既平常所说的红、绿、蓝、紫等。对应于物理特性的主波长(主频率);饱和度(Saturation):接近光谱颜色(单色)的程度,是单色中掺入白色的度量,对应于物理特性的纯度;亮度(Lightness):是光对视觉的刺激强度,即颜色光的强度,对应于物理特性的明度,即光能E。5.2颜色模型两种不同的颜色可以混合成另一种颜色。如果两种颜色混合成白色光,它们就被称为互补色。红色和青色、绿色和品红、蓝色和黄色都是互补色。适当选择两种或多种初始颜色可以形成许多其他颜色。用来生成其他颜色的初始颜色称为基色(primarycolor)(原色),基色(primarycolor)(原色)一般取主频率颜色,例如,彩色图形显示器(CRT)上每个像素都是由红、绿、蓝三种荧光点组成的,这是以人类视觉颜色感知的三刺激理论为基础设计的。三刺激理论认为:人类眼睛视网膜中的锥状视觉细胞分别对红、绿、蓝三种光最敏感。根据此理论,颜色可由三基(原)色合成,有如下性质的三种颜色可以作为基色:用适当比例混合这三种颜色,可以获得白色;三种颜色中的任意两种的组合都不能生成第三种颜色。5.2颜色模型与三色学对应,CIE(国际照明委员会)选取了标准红(R)、绿(G)、蓝(B)作为标准基色,这个颜色模型也称为RGB颜色模型。RGB颜色模型是一种加色模型(additivecolormodel),它通过原色相叠加来生成其他颜色,通常用于彩色光栅图形显示设备、投影仪等。以红、绿、蓝的补色青(Cyan)、品红(Magenta)、黄(Yellow)为基色则构成了CMY颜色模型。CMY颜色模型是一种减色模型(subtractivecolormodel),它是从白光中滤去某种颜色从而得到其他颜色,通常应用于某些印刷硬拷贝设备如打印机和绘图机的颜色处理5.2颜色模型CMY颜色模型是CIE理论颜色模型—XYZ颜色模型的典型代表。另外一种常用的XYZ颜色模型是HSV颜色模型。HSV分别指色调(hue)、饱和度(saturation)和值(value),它在一种纯色中加入白色改变色泽,加入黑色改变明暗,同时加入不同比例的白、黑得到不同色调的颜色,对应于画家的配色方法。由三原色就可建立颜色合成的三维颜色空间,下图即为RGB颜色模型的三维颜色空间,为一立方体(也称颜色立方体)。在这个立方体中,沿着一个坐标轴方向的距离代表了颜色中相应原色的分量。5.2颜色模型在图形系统中,程序员一般通过两种模式(或API方法)来处理颜色。一种是索引颜色模式(indexedcolormode),它首先定义一个可查找的颜色表,这个颜色表包括系统能表现的所有颜色,然后把位深度有限的像素解释为颜色表的索引而不是颜色值,这种模式对内存的要求低,在过去的显示器能显示的颜色数目很有限的情况下发挥了很大的作用。另一种是RGB颜色模式,在这个加色模型的RGB三原色系统中,红、绿、蓝图像在概念上有各自的缓存,每个像素都分别有红、绿和蓝色分量,每种分量对应于存储器中的某个位置。RGB颜色模式已成为现代图形系统的标准。在程序中,可以通过一个三维向量来定义一个颜色,例如:varvertexColor=vec3(1.0,0.0,0.0)就定义了一个红颜色。5.2颜色模型在RGB颜色模式基础上在加一个表示透明的分量即得到RGBA颜色模式,其中第四个颜色分量(A或者a)和RGB值一样也存储在帧缓存中,它的意义是不透明度(opacity)或者透明度(transparency)。可以利用具有四个参数的颜色函数对它进行设置。a分量可以应用于各种不同应用,比如创建雾化效果或者图像融合。在程序中,可以通过一个四维向量来定义一个颜色,例如:varvertexColor=vec4(1.0,0.0,0.0,1.0)就定义了一个不透明的红颜色。5.3光源通常把光源看成是仅通过其内部能量来源发射光线的对象。光源表面上的每个点(x,y,z)都能发射光线,这些光线由光源投射光线的方向(θ和Ф)和光源在每个波长λ产生的能量强度来表征。因此,一般的光源可以由6个自由度的照明函数I(x,y,z,θ,Φ,λ)来表征。对于被光源照射的对象,可以通过在光源的表面做积分得到光源对这个对象的总贡献。5.3光源

5.3光源

5.3光源

5.3光源点光源在真实环境中,大多数光源的尺寸不能忽略,由此,可能会造成一些区域完全处于阴影(本影)中,而另一些区域处于部分阴影(半影)中。通过为场景设置环境光,可以减弱由点光源照明引起的过高的对比度。5.3光源聚光灯聚光灯(specularlight)的特点是只在一个小的角度范围内发射光线。可以通过限制点光源发射光线的角度来构造一个简单的聚光灯模型。聚光灯的发光强度是光源方向Is和指向表面的向量s之间的夹角Φ的函数(这个角度要小于θ)。通常定义为coseΦ,期中e决定了发光强度随Φ的增大而减少的速度。5.3光源远距离光源如果光源和表面之间的距离非常大,那么表面与光线之间的夹角几乎就没有变化,这样的光源我们称之为远距离光源。远距离光源不考虑光源的位置,取而代之的是光源的方向,用齐次坐标p0=[x,y,z,0]T来表征这个方向向量。5.4Phong光照模型

5.4Phong光照模型

5.4Phong光照模型漫反射理想的漫反射表面把光线向所有方向均匀地散射,因此,这样的表面在所有的观察者看来亮度都一样。不过,反射出去的光线强度既依赖于材质(因为有一部分入射光线被表面吸收了)。也依赖于光源相对于表面的位置。漫反射表面的特点是比较粗糙的。一个漫反射表面的横截面放大后如图所示。入射角相差不大的入射光线被反射后的出射方向相差很大。理想漫反射表面是如此粗糙,以至于向各个方向反射的光线强度都相等。这样的表面,有时被称为Lambert表面(Lambertiansurface),可以用Lambert定律来建模。5.4Phong光照模型

5.4Phong光照模型镜面反射和漫反射表面是粗糙的相反,镜面反射表面是光滑的。表面越光滑,就越接近于镜子。从右图可以看到,表面越光滑,反射出去的光线就越集中在一个角度的附近,这个角度是一个理想的反射器(镜子或者理想镜面反射表面)的反射角。5.4Phong光照模型镜面反射要建立镜面反射表面的逼真模型可能比较复杂,因为光线被散射的模式不是对称的。该模式和入射光线的波长有关,并且随反射角的变化而变化。Phong提出了一个近似模型,所需的计算量只比漫反射增加了一点。在该模型中,除了漫反射分量以外,增加了一项表示镜面反射。这样,在考虑漫反射分量时,把表面看成是粗糙的,而在考虑镜面反射分量时,把表面看成是光滑的。观察者所看到的光线强度取决于理想反射器反射光线的方向r和观察者的方向v这两者之间的夹角Φ。5.4Phong光照模型

5.4Phong光照模型

5.4Phong光照模型

5.5多边形着色方案计算法向量计算出来后,再给定观察者和一组光源,就可使用前面介绍的光照模型计算表面上每点的光照强度。然而,对于象球面这样的曲面,即使能够使用一个简单的方程计算出法向量,所需的计算开销也可能非常大。多边形建模可以大大降低对平面多边形进行着色所需的计算量。每个多边形位于同一平面上,因此可以很容易地定义每个多边形的法向量。包括WebGL在内的许多图形绘制系统都将曲面分解成许多小的平面多边形,通过这种多边形逼近的方法大大提高着色效率。目前常用的多边形着色方案有三种:均匀着色、平滑着色(或称为Gouraud着色)和Phong着色。5.5多边形着色方案

5.5多边形着色方案

5.5多边形着色方案

5.6指定光照参数为了实现光照模型,必须首先指定一组光源和材质参数。对于每一个光源,必须指定其颜色、位置或者方向。可以为单个光源指定其颜色的三个分量:漫反射光分量、镜面反射光分量和环境光分量;对于点光源,还需要考虑由于对象表面与光源的距离而引起的光线强度衰减;通过设置聚光灯的方向、圆锥体的角度(或聚光灯的遮光角度)、聚光灯的指数(或衰减率),可以将点光源转换成聚光灯。varlightAmbient=vec4(0.2,0.2,0.2,1.0);varlightDiffuse=vec4(1.0,1.0,1.0,1.0);varlightSpecular=vec4(1.0,1.0,1.0,1.0);

5.6指定光照参数材质属性直接对应于所支持的光源和所选择的光照模型可以通过RGB或RGBA三个颜色对象来指定材质的环境光反射系数、漫反射系数

温馨提示

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

最新文档

评论

0/150

提交评论