计算机图形学 图形学第8章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.1.3 简单光照明模型
假设物体不透明
那么物体表面呈现的颜色仅由其反射光决定。 反射光组成 环境反射 环境反射假定入射光均匀地从周围环境入射至 景物表面并等量地向各个方向反射出去 漫反射与镜面反射 漫反射分量和镜面反射分量则表示特定光源照 射在景物表面上产生的反射光。
1. 环境反射光
克服这些缺点的一种方法是采用Phong明暗处理
8.2.2 Phong明暗处理技术
它的基本思想是对多边形顶点 处(平均)法向量做双线性插值, 以增加一定的计算量为代价克 服了Gouraud明暗处理的缺点。 Phong明暗处理能正确地模拟高 光并能大大减轻马赫带效应。 也可采用扫描线双线性插值方 法
N0:物体表面单位法向量
N i 入射光 A N0 i ACOS i L0 N L0 i N0
L0:物体表面一点指向点 光源的单位向量
漫反射光计算8.2式
I d I pd k d cosi
可表示为:
I d I pd kd ( N 0 L0)
3. 镜面反射光
镜面反射光为朝一定方向的反射光。
I=kaIpa+∑[kdIpdEd + ksIpsEns] –Ed=(N0·L0)为漫反射明暗度 –Es=(N0·H0)为镜面反射明暗度
L (11.6) V
8.2
存在问题
光滑明暗处理技术
为提高算法效率,光滑景物表面由一些多边形近似。 使用通常的多边形扫描线算法来绘制这种近似表示的物体, 则生成的图形将失去原有曲面的光滑性,而呈现多面体状。 原因:不同平面片之间存在不连续的法向量, 导致由多个平 面片表示的物体表面光亮度呈现不连续跃变
(b)
图 8.5 Phong光照明模型用于光滑球面时的情形
Phong模型
I I pa ka I p (kd cosi k s cosn )
当光源有多个时,则上式可写为:
法向量的改变对 光亮度计算影响 大
I I pa ka ( I pd kd cosi I ps ks cosn )
这种增量方式的光亮度计算使得Gouraud明暗 处理广泛用于速度要求较高的应用领域
Gouraud明暗处理的缺点
不能正确地模拟高光
这是因为采用光亮度插值后将使多边形内的高光丢失。
所绘制画面会诱发马赫带效应
虽然光亮度双线性插值保证了由多边形近似表示的曲面上各处光 亮度的连续变化,但在相邻多边形的公共边界上光亮度的一阶导数 并不连续,由于人眼的光学错觉,光亮度变化一阶不连续的边界处 会呈现亮带或黑带,即马赫带效应。
V1
y3 y1 yB y1 IB I3 I1 y3 y1 y3 y1
y A y1 y2 y A IA I2 I1 y2 y1 y2 y1
A I2
I1 B 扫描线 P (Ip)
V2
I3 V3 图8.9 采用双线性插值 计算P点的光亮度
其中y为各点投影到屏幕之后的y轴坐标。
xb xP xP x A IP IA IB xB x A xB x A
其中x为各点投影到屏幕之后的x轴坐标。
采用Gouraud明暗处理不但可以克服有多边形
近似表示的曲面的光亮度不连续现象,而且计算 量也很小。
为了进一步提高计算效率,线性插值可使用增
量法进行计算,其计算量仅涉及一次加法计算。
视点相关性
投向观察者的镜面反射光不仅决定于入射 光,而且和观察者的观察方向有关。
当视点取在镜面反射方向附近时,观察者 接受到的镜面反射光较强,而偏离这一方向 观察时,镜面反射光就会减弱甚至消失。
镜面反射光的会聚指数n
光亮度 Ipd
Ips Ipscosnθ θ θ D E‘ E’
E
D
E’
(a)
根据光的反射定律,反射光和入射光对称地 分布于表面法向的两侧。
对纯镜面,入射至表面面元上的光严格地遵 循光的反射定律单向反射出去,反射角与入射角 相等。
入射光
反射光
纯镜面 (a)
N 入射光 反射光
入射光
N
反射光
n大 n小
纯镜面 (a)
图 8.4 镜面反射
一般光滑平面 (b)
一般光滑表面: 表面实际上是有许多朝向不同的微小平面组成 其镜面反射光分布于表面镜面反射方向的周围
Ipd
Ipdcosi i
B C
A
B’
C’
2. 漫反射光
郎伯余弦定律
对于一个漫反射体,表面的反射光亮度和光 源入射角(入射光线和表面法向量的夹角)的 Ipd 余弦成正比
I d I pd k d cosi
Id为物体表面漫反射光的光亮度
i为光源入射角 kd 为漫射系数,决定于表面材料及入射 光的波长(0≤kd≤1)
– 基于RGB三基色颜色系统的Phong模型
rpd rpa rps r g k g k g cosi k g cosn d pd a pa s ps b pd b pa b ps b
8.1.2
材 质
材质的颜色是由它所反射的光的波长决定 如果光线被投射至一个不透明的物体表面,则部分 光线被反射,部分被吸收
物体表面的材质类型决定了反射光的强弱
表面光滑较亮的材质将反射较多的入射光,而较 暗的表面则吸收较多的入射光。
同样对于一个半透明物体的表面,部分入射光会被 反射,而另一部分则被折射。
光照明模型
简单光照明模型
仅考虑光源直接照射在景物表面所产生的光照 效果
景物表面通常被假定为不透明,且具有均匀反 射率
能表现由光源直接照射在漫射表面上形成的连 续明暗色调,镜面上的高光以及由于景物互相遮 挡而形成的阴影等
光照明模型
整体光照明模型
除了考虑上述因素外
还要考虑周围环境对景物表面的影响。
第八章
简单光照明模型
生成连续色调的真实感图形的四个主要步骤:
• 用数学方法建立所构造三维场景的几 何描述,并将它们输入计算机。 • 将三维几何描述转换为二维透视图。 • 确定场景中的所有可见面。 • 计算场景中可见面的颜色。
8.1.1 光 源
光源称为发光体
反射表面(如房屋的墙壁)则称为反射光源
环境反射光是由环境光在邻近物体上经过多次
反射所产生的。
光是来自四面八方的。
这种光产生的效应简化为它在各个方向都有均匀的 光强度Ie,
某一个可见物体在仅有环境光照明的条件下, 其上各点明暗程度完全一样,分不出哪个地方亮, 哪个地方暗。
1. 环境反射光
环境反射光亮度可表示为:
I e I pa k a
Ipdcosi i
B C A B’ C’
Ipd为光源垂直入射时反射光的光亮度
球面的漫反射
Ipd 光亮度 Ipd
Ipdcosi
i
B C
A
B’
C’
C
B
A
B’
C’
(a)
(b) 图 8.3简单漫反射模型用于球面
由于A点的光源入射角为零,故发出的光亮度最大(为Ipd)
而B和B’的光亮度就弱些。
由于C和C’的光源入射角为90。,故其表面光亮度为零。 球面的明暗过渡曲线如图8.3 (b)所示
1
A I2 V2
I1 B
扫描线
P (Ip)
I3 V3
8.2.1 Gouraud明暗处理技术
算法步骤 多边形各顶点光亮度计算
光亮度线性插值
8.2.1 Gouraud明暗处理技术
多边形各顶点光亮度计算 法向量计算 取和顶点关联的各多边形面片的平均法向量作为该顶点的 法向量 取多边形各顶点处原始曲面的真正法向量 将法向量代入光照明模型进行光亮度计算。
能模拟出镜面映像,光的折射以及相邻景物表 面之间的色彩辉映等较精致的光照明效果。
光照明模型
光照效果
光照明模型
一个光照的球体
光照产生的场景
8.1.3 简单光照明模型
环境假设为由白光照明,且反射光和透射光的颜 色由用户来选定。
下面讨论不包含透射光的简单光照明模型。
只考虑被照明物体的几何形状对反射和透射光的影响。
1
4
5
7
2
6
3
(a) (b) 图8.8 光滑表面的多边形表示
8.2 解决方法
光滑明暗处理技术
Gouraud光亮度插值技术 Phong法向量插值技术
颜色插值 Gouraud 模型
矢量插值:Phong模型
8.2.1 Gouraud明暗处理技术 算法思想
将曲面表面某一点的光亮度做近似表示,近 似值为该曲面的各多边形顶点光亮度的双线 性插值。 V
光谱量对应的颜色可由用户直接指定 一旦反射光中三种分量的颜色以及它们的系数ka, kd 和ks 确 定之后,从景物表面上某点达到观察者的反射光颜色就仅仅 和光源入射角和视角θ 有关, 因此,Phong模型实际上是纯几何模型。
在实际应用中,为了减小计算量,可采用下面的方法计算 cosi和cosθ 。
常采用余弦函数的幂次来模拟一般光滑表面的 镜面反射光的空间分布
N
入射光 反射光
入射光
N
反射光
n大 n小
一般光滑平面 (b)
纯镜面 (a)
图 8.4 镜面反射
采用余弦函数的幂次来模拟一般光滑表面的镜面反射光的空间分布。
I s I ps k s cosn
Is 为观察者接受到的镜面反射光亮度 Ips为入射光的光亮度, θ 为镜面反射方向和视线方向的夹角,介于0o到90o之间 n为镜面反射光的会聚指数(与物体表面光滑度有关) ks为镜面反射系数(与材料性质和入射光波长有关)。
N v1
N v2 N v3 N v4
N4 N1 P N3 N2
(a)
P
(b)
8.2.1 Gouraud明暗处理技术
光亮度线性插值--在采用扫描线算法对多边 形进行绘制时 先用多边形顶点的光亮度线性插值出当前扫 描平面与多边形边界交点处的光亮度, 然后再用交点的光亮度做线性插值求出多边 形与扫描平面相交区段上每一采样点的光亮 度值
光源
反射面
图 8.1 通常在一个不透明且不发光的物体表面所 观察到的光线是其反射光,它由光源与其他物体表 面的反射光所共同产生
光源的属性包括
光源的几何形状 点光源,线光源,面光源和体光源 光源向四周所辐射光的光谱分布 漫反射: 粗糙物体表面往往将反射光向各个方向散射。物 体颜色实际上就是入射光线被漫反射后所表现出 来的颜色。 镜面反射: 空间光亮度分布 在计算机图形学中,认为光源通常朝空间各个方 向发射的光强是相同的。但实际情况常常不是这样, 例如遮挡。
ka 环境反射系数
点的位置的改变 对光亮度计算影 响较小 L i
kd漫反射系数
ks镜面反射系数 ∑表示对所有特定光源求和
N
kd+ks=1
R θ P 图 8.6 Phong模型计算中涉及的各方向向量 V
简单光照明模型(Phong模型)
– Phong模型
I ka I pa kd I pd cosi ks I ps cosn
Ie为物体的环境光反射亮度,
Ipa为环境光亮度,
Leabharlann Baidu
ka为物体表面的环境光反射系数(0≤ka≤1)
2. 漫反射光
漫反射分量表示 特定点光源 在景物表面某一点
的反射光中那些向空间各方向均匀反射出去的光, 表面对入射光在各个方向上都有强度相同的反 射,因而无论从哪个角度观察,这一点的光亮度 都是相同的。
设L0,N0,R0,V0是与L,N,R,V相应的单位向量,则
cosi ( L0 N 0 )
cos ( R0 V0 )
R0 2 cosi N 0 L0
N0
i
N
L0
L0
2 cos i N 0
R0
V0
i
COS i N 0 L0
图 8.7 R0的表示
• 在实际使用中,由于cosθ =(R0·V0)计算不方便,常用 (N0·H0)来代替。 –H0为沿L和V的角平分线的单位向量,可理解为朝观察 方向产生镜面反射的虚拟表面的法向量, –H和表面的实际法向量N之间的角度反映了射向观察 者的镜面反射光的大小。 N –Phong模型成为 H
可沿扫描线,从左至右顺序计算AB区段上所有 象素的光亮度。 设IA,IB已确定,P1和P2点是相邻两象素的坐标, 相邻象素的插值参数之差为△ t ,那么, P2 点光 亮度IP2和P1点光亮度IP1之间有以下关系:
I P2 I P1 (I A I B ) /( xB xA ) I P1 I