摘要:计算机如何生成三维形体的真实图形是计算机图形学研究的重要内容之一,光照模型是真实感图形技术的重要组成部分,它主要研究的是如何根据光学物理的有关定律,采用计算机来模拟自然界中光照明的物理过程。本文通过对光源特性和物体表面特性、局部光照模型和整体光照模型的具体分析,完成对光照模型的 系统阐述。 关键词:光源特性、局部光照模型、全局光照模型、真实感图形
Abstract:
Keywords: source characteristics, local illumination model, global illumination model, realistic graphics
1引言:真实感图形学作为一种图形生成技术,一直是计算机图形学研究的前沿领域,其中光照模型的研究对真实感图形的生成至关重要。物体表面的彩和明暗变化主要和两个因素有关,即光源特性和物体表面特性。计算机图形学的光照模型分为局部光照模型和全局光照模型。
2 光源特性与物体表面特性
2.1光源特性
(1)光的彩
光的彩一般用红、绿、蓝三种光的组合来描述。三种光按不通过比例合成便形成光的不同相,因此,光可视为坐标空间中由红(R)、绿(G)、蓝(B)三光构成的一个点,表达式为:
color_light=(Ir,Ig,Ib)
其中Ir,Ig,Ib分别为R,G,B三光的强度。
(2)光的强度
光的强弱由RGB三光的强弱决定,三光在总光强中的权值各不相同。总的光强I为:
I=0.30 Ir+0.59Ig+0.11Ib
由此可见,各光对总光强的权值大小依次为0.30、0.59、0.11.
按照光的方向的不同,可以将光源进行分类,一般可以分为:点光源、分布式光源和漫射光源。
点光源 分布式光源 漫射光源
2.2物体表面特性
(1)反射系数
物体表面的反射系数由物体表面的材料和形状决定。反射系数分为漫反射 (Diffuse Reflection) 系数和镜面反射(Specular Reflection)系数。
漫反射系数记为Rdstc2052>长春密刺,表明当光射向物体表面时物体表面向各个方向漫反射该光线的能力。Rd可以分解为Rd-r、Rd-g、Rd-b,分别为物体表面对入射光线中红、绿、蓝三种成分的反射能力。Rd-r、Rd-g、Rd-b不同比例描述了物体表面的彩,Rd介于0~1之间。
镜面反射系数记为W(i),表明物体表面沿着镜面方向(与光线入射角度相同、方向相反)反射光线的能力。其中,i为入射角,即入射光线和表面法线的夹角。物体的镜面反射系数是入射角的函数。实验表明,镜面反射光线的彩,基本上是光源的彩。因此,物体表面的颜,主要是由光源的彩和物体表面的漫反射系数来模拟。在光线的照射下,光滑物体会形成一片非常亮的区域,称为高光区域。物体表面光滑,高光区域小,亮度很高;物体表面粗糙,高光区域大,亮度很低。
分度机构(2)透射系数
制作门窗
透射系数记为TP,用来描述物体透射光线的能力,并且0≤TP电动开瓶器≤1,当TP =1时,物体是完全透明的;当=0时,物体是完全不透明的。
(3)表面光照
物体表面的方向用法线n来表示。多面体物体表面上每个多边形法线表示为n=(A,B,C).
其中A,B,C,是多边形平面方程中x,y,z的系数。
3局部光照模型
局部光照模型是一种比较简单的光照模型,局部光照明模型只考虑光源直接照射到物体表面产生的光照效果, 物体基本不透明且各表面的反射率是常数. 局部光照明模型中, 物体表面的反射光分为漫反射光和镜面反射光; 漫反射光可以认为是光穿过物体表面被吸收后, 余下的重新向外各各方向均匀发射的光, 所以在任何方向的漫反射光强度都相同. 镜面反射光由入射光在物体的表面的直接反射, 镜面反射光沿镜面反射主方向最强, 主方向周围逐渐衰减, 形成一定的可观察区域.
局部光照模型是与光栅化渲染算法相适应的,光栅化算法一次只考虑一个像素点的光照强度,因此局部光照模型不能计算某像素受其他像素影响的光照强度部分。也就是说,局部光照模型只对物体进行直接光照的计算,而不考虑其他的间接影响。局部光照模型在决定到达观察者眼中的反射光的光照强度时只考虑到达表面的入射光线和表面法向。典型的局
部光照模型包括Lambert漫反射模型,Phong模型,改进的Blinn-phong模型和Cook-Torrance模型等。截瘫行走器
3.1漫反射模型--- Lambert模型
3.11环境光是对光照现像的最简单抽象,因而局限性很大。它仅能描述光线在空间中无方向并均匀散布时的状态。很多情况下,入射光是带有方向的,比如典型的阳光。 在多数实际环境中,存在由于许多物体表面多次反射而产生的均匀的照明光线,这就是环境光线。环境光线的存在使物体得到漫射照明,例如阴天就可以看做是仅有漫射照明。这时亮度可以如下简单地计算:
I =κ a · Ia
其中是I可见表面的亮度,Ia是环境光线的总亮度,κa是物体表面对环境光线的反射系数,它在0到1之间,与表面的性质有关,表明了有多少环境光线从物体的表面反射出去。
如果光照射到比较粗糙的物体表面,如粉笔,由于这些表面从各个方向等强度地反射光,
因而从各个视角出发,物体表面呈现相同的亮度,所看到的物体表面某点的明暗程度不随观测者的位置变化的,这种等同地向各个方向散射的现象称为光的漫反射(diffuse reflection)。
简单光照模型模拟物体表面对光的反射作用。光源被假定为点光源,其几何形状为一个点,向周围所有方向上辐射等强度的光,在物体表面产生反射作用。
漫反射光的强度近似地服从于Lambert定律,即漫反射光的光强仅与入射光的方向和反射点处表面法向夹角的余弦成正比。由此可以构造出Lambert漫反射模型:
Idiffuse =Id Kd cosθ
Idiffuse表示物体表面某点的漫反射光强
Id为点光源,Kd(0<Kd<1)表示物体表面该点对漫反射光的反射属性
θ是入射光线的方向与物体表面该点处法线N的夹角,或称为入射角(0≤θ≤90°)
入射角为零时,说明光线垂直于物体表面,漫反射光强最大;90°时光线与物体表面平行,物体接收不到任何光线。
把环境光模型添加进来,最后,Lambert光照模型可写为:
I= IaKa + Id Kdcosθ= IaKa + Id Kd(L·N)
该模型包含环境光和漫反射光
3.1.2漫反射的颜可由入射光的颜和物体表面的颜共同设定。
例如,在RGB颜模型下,物体的漫反射系数Kd的三元组(KdR KdG KdB )分别代表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镜面反射
镜面反射是指来自具体光源的光能到达可见表面上的某一点后,主要沿着由射入角等于反射角所决定的方向传播,从而使得观察者从不同角度观察时,这一点呈现的亮度并不相同。在任何有光泽的表面上都可以观察到镜面反射的效果。例如,用很亮的光照射一个红
的苹果,会发现最亮点不是红的,而是有些呈现白,这是入射光线的颜。这个最亮点就是有镜面反射引起的。如果观察者移动位置,会看到最亮点也随之移动。这是因为光泽表面在不同方向对光线的镜面反射是不同的。在理想的光泽表面上,例如在非常好的镜面上,反射光线只是在由入射角等于反射角所确定的方向上才有。对于不是非常理想的光泽表面,例如一个苹果,反射光线引起的亮度随着ɑ的增大而迅速下降。
由Phong Bui-Tuong提出的明亮模型,用 cosnɑ来近似反射光线引起的亮度随着ɑ 增大而下降的速率。n取值一般在1到2000之间,决定于反射表面的有关性质。对于理想的反射表面,n就是无穷大。这里选用cosnɑ ,是以经验观察为基础的。
可以得到计算表面亮度的公式:
这里可以假定反射光线的方向向量R和指向观察点的向量V都已经正规化,即已经是长度为1的单位向量,于是可以简单地利用向量内积计算余弦值:cosɑ-V.R. 对,通常根据经验选取一个常数 K s 来代替,这样公式(5)可写成下面更容易计算的形式:
反射光线的方向向量R需要计算,为简便,有时用更容易计算的 H·N 代替R·V,得到
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 高光更柔和、更平滑,此外它在速度上相当快,因此成为许多 CG 软件中的默认光照渲染方法。此外它也集成在了大多数图形芯片中,用以产生实时快速的渲染。 在 OpenG L 和 Direct3D 渲染管线中, Blinn-Phong 就是默认的渲染模型。
phong 光照模型中,必须计算 的V和R的点积的值值,其中 R为反射光线方向单位向量, V为视线方向单位向量,但是在 Blinn-phong 光照模型中,用N dot H 的值取代了V dot R 。 Blinn-phong 光照模型公式为:
其中 N是入射点的单位法向量, H是“光入射方向L 和视点方向V 的中间向量”,通常也称之为半角向量。