光照模型与面绘制算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第八章光照模型与面绘制算法
对物体进行透视投影,然后在可见面上产生自然光照效果,实现场景的真实感显示。(彩图1.15,1.36 等)
绘制真实感图形涉及物理学和心理学两个方面。
光(电磁能)经过和周围具体环境的互相作用后到达人的眼睛,刺激人的眼睛(在人的眼睛里,发生物理和化学变化),生成人脑所能感知的电脉冲,使我们“看见”物体。
一个光照明模型(illumination model)(明暗模型主要用于物体表面某点光强度的计算。
面绘制算法(surface-rendering algorithm)是通过光照模型中的光强度计算,确定场景中物体表面的所有投影象素点的光强度。
面绘制有二种方法:
1.将光照模型应用于每个可见面的每一点(如光线跟踪算法)
2.经过少量的光照模型计算,在面片上进行亮度插值(扫描线方法)
图形学中的真实感成像包括两部分内容:
1.物体的精确图形表示;
2.场景中光照效果的物理描述,如:光的反射,透明性、阴影表面纹理等。
光照模型包含许多因素:
1.物体类型:物体的透明度,物体表面可以是光亮的、阴暗的;物体表面的纹理;
2.物体相对于光源的位置;
3.光源的属性:形状、颜色、位置;
4.观察平面的位置和方向等。
光强度的计算量较大,如较精确的计算模型:辐射度算法,考虑场景中光源与物体表面间辐射能量的传递,计算强度。
大多数软件包采用简化的光照计算和经验模型(如phong模型,Gouraud模型等)
§1 光源
观察一个不透明不发光的物体时,从物体表面得到反射光.(从光源发出的,或从周围物体获得的)
光源:发光物体:灯泡、太阳;
反射光源:房屋的墙壁。
有时一个光发物体,既是光源又是反射体,如:一个塑料球内放置一个灯泡,球表
面上既发光也反射光。
光源分为:
1.点光源:是发光体的最简单的模型。如太阳、小灯泡、离场景足够远的光源、比物体小得多的光源。
光线由光源向四周发共用散。
2.分布式光源:如:日光灯,与场景中面片比不足够小。
光线被投射到一个物体后会:
1)被反射:反射光线的强弱由表面的材质类型决定;
2)被吸收;
3)被折射(透明物体)。
表面光滑的材质,反射较多的入射光,吸收较少的入射光;表面粗糙的物体往往将
发射光向各个方向散射:—漫反射(光线的散射现象)。
反射包括:
1)漫反射;粗糙的物体表面将反射光向各个方向散射=>从各个视角观察到的光亮度几乎相同。物体的颜色实际上就是入射光线被漫反射后表现出的颜色。
如:一束白光照在一个蓝色物体-->蓝色被反射其它的被吸收;红光->蓝色物体,物体为黑色(红光被吸收)。
2)镜面反射:磨光的物体表面上产生高光或强光。
§2、基本光照模型
在基本光照模型中,假设所有的光源均为点光源,且已知其位置和光强度(颜色)。它是一中简单有效的方法。
在基本光照模型中光线的计算,主要基于物体表面的材质,背景光线条件及光源。
一、环境光
一个物体表面即使不直接暴露于光源之下,只要其周围的物体被照明,它也可能看得见。
环境光(ambient light):
或称背景光(泛光),是场景的基准光亮度。
特点:没有空间或方向上的特征,在所有方向上和所有物体表面上投射的环境光数量恒定不变。
表示:Ia ,表示场景中的环境光大小。
因而由环境光产生的反射光与观察方向和物体表面的朝向无关。
k a:环境光的反射常数(k a:0—1)
由环境光产生的反射光强度:
I ambdiff = k a * I a .
二、点光源漫反射
k d:漫反射率(diffuse reflectivity)漫反射系数,
表示入射光线被漫反射部分的百分比. 与物体各表面的材质属性有关。是物体颜色的函数,设为常数。
理想漫反射体(Lambert反射体):光线被物体表面漫反射后向各个方向以等光强度发散,与观察方向无关.
所以从表面上任意点所发散的光线可由朗伯余弦定律计算而得。(P391图14.8) I ldiff = R d * I l cos(θ)
I l:点光源强度;
θ:入射角;θ:00--900
光强度决定于它获得的幅射能.
面片的光亮度依赖于它与光源的相对朝向,与入射光方向垂直的面片同一个与入射光方向成斜面的面片相比,其光亮程度要大得多(可看成入射光的强度不同).
(P391图14.9)
N:物体表面的单位法向量
L:从表面上指向点光源的单位方向,则cos(θ)=N·L;
由光源的漫反射光强为:I ldiff = k d * I l(N·L)
所以物体的漫反射光强为:
I ldiff = k a * I a + k d * I l(N·L).
物体离光源近,强度大.
物体离光源远,强度小.
I ldiff = k a * I a + k d * I l(N·L)/(D+K).
K为常数(使分母不为0).
(例 P391,P392)
三、镜面反射和Phong模型
当观察一个光照下的光滑物体表面,如磨光的金属,可能在某个观察方向上看到高光或强光----镜面反射。
在接近镜面反射角的一个会聚区域内入射光的全部或绝大部分成为反射光。
镜面反射时,反射角=入射角
(P393 图)
对于理想的反射体,当φ=0时,才能观察到反射光线;
(φ:观察方向与反射方向的夹角)