当前位置:文档之家› 计算机图形学 图形学第8章

计算机图形学 图形学第8章


可沿扫描线,从左至右顺序计算AB区段上所有 象素的光亮度。 设IA,IB已确定,P1和P2点是相邻两象素的坐标, 相邻象素的插值参数之差为△ t ,那么, P2 点光 亮度IP2和P1点光亮度IP1之间有以下关系:
I P2 I P1 (I A I B ) /( xB xA ) I P1 I
xb xP xP x A IP IA IB xB x A xB x A
其中x为各点投影到屏幕之后的x轴坐标。
采用Gouraud明暗处理不但可以克服有多边形
近似表示的曲面的光亮度不连续现象,而且计算 量也很小。
为了进一步提高计算效率,线性插值可使用增
量法进行计算,其计算量仅涉及一次加法计算。
能模拟出镜面映像,光的折射以及相邻景物表 面之间的色彩辉映等较精致的光照明效果。
光照明模型
光照效果
光照明模型
一个光照的球体
光照产生的场景
8.1.3 简单光照明模型
环境假设为由白光照明,且反射光和透射光的颜 色由用户来选定。
下面讨论不包含透射光的简单光照明模型。
只考虑被照明物体的几何形状对反射和透射光的影响。
1
A I2 V2
I1 B
扫描线
P (Ip)
I3 V3
8.2.1 Gouraud明暗处理技术
算法步骤 多边.1 Gouraud明暗处理技术
多边形各顶点光亮度计算 法向量计算 取和顶点关联的各多边形面片的平均法向量作为该顶点的 法向量 取多边形各顶点处原始曲面的真正法向量 将法向量代入光照明模型进行光亮度计算。
设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
– 基于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
1
4
5
7
2
6
3
(a) (b) 图8.8 光滑表面的多边形表示
8.2 解决方法
光滑明暗处理技术
Gouraud光亮度插值技术 Phong法向量插值技术
颜色插值 Gouraud 模型
矢量插值:Phong模型
8.2.1 Gouraud明暗处理技术 算法思想
将曲面表面某一点的光亮度做近似表示,近 似值为该曲面的各多边形顶点光亮度的双线 性插值。 V
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. 镜面反射光
镜面反射光为朝一定方向的反射光。
8.1.2
材 质
材质的颜色是由它所反射的光的波长决定 如果光线被投射至一个不透明的物体表面,则部分 光线被反射,部分被吸收
物体表面的材质类型决定了反射光的强弱
表面光滑较亮的材质将反射较多的入射光,而较 暗的表面则吸收较多的入射光。
同样对于一个半透明物体的表面,部分入射光会被 反射,而另一部分则被折射。
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轴坐标。
根据光的反射定律,反射光和入射光对称地 分布于表面法向的两侧。
对纯镜面,入射至表面面元上的光严格地遵 循光的反射定律单向反射出去,反射角与入射角 相等。
入射光
反射光
纯镜面 (a)
N 入射光 反射光
入射光
N
反射光
n大 n小
纯镜面 (a)
图 8.4 镜面反射
一般光滑平面 (b)
一般光滑表面: 表面实际上是有许多朝向不同的微小平面组成 其镜面反射光分布于表面镜面反射方向的周围
(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 )
Ipd
Ipdcosi i
B C
A
B’
C’
2. 漫反射光
郎伯余弦定律
对于一个漫反射体,表面的反射光亮度和光 源入射角(入射光线和表面法向量的夹角)的 Ipd 余弦成正比
I d I pd k d cosi
Id为物体表面漫反射光的光亮度
i为光源入射角 kd 为漫射系数,决定于表面材料及入射 光的波长(0≤kd≤1)
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)所示
光谱量对应的颜色可由用户直接指定 一旦反射光中三种分量的颜色以及它们的系数ka, kd 和ks 确 定之后,从景物表面上某点达到观察者的反射光颜色就仅仅 和光源入射角和视角θ 有关, 因此,Phong模型实际上是纯几何模型。
在实际应用中,为了减小计算量,可采用下面的方法计算 cosi和cosθ 。
光照明模型
简单光照明模型
仅考虑光源直接照射在景物表面所产生的光照 效果
景物表面通常被假定为不透明,且具有均匀反 射率
能表现由光源直接照射在漫射表面上形成的连 续明暗色调,镜面上的高光以及由于景物互相遮 挡而形成的阴影等
光照明模型
整体光照明模型
除了考虑上述因素外
还要考虑周围环境对景物表面的影响。
光源
反射面
图 8.1 通常在一个不透明且不发光的物体表面所 观察到的光线是其反射光,它由光源与其他物体表 面的反射光所共同产生
光源的属性包括
光源的几何形状 点光源,线光源,面光源和体光源 光源向四周所辐射光的光谱分布 漫反射: 粗糙物体表面往往将反射光向各个方向散射。物 体颜色实际上就是入射光线被漫反射后所表现出 来的颜色。 镜面反射: 空间光亮度分布 在计算机图形学中,认为光源通常朝空间各个方 向发射的光强是相同的。但实际情况常常不是这样, 例如遮挡。
克服这些缺点的一种方法是采用Phong明暗处理
8.2.2 Phong明暗处理技术
它的基本思想是对多边形顶点 处(平均)法向量做双线性插值, 以增加一定的计算量为代价克 服了Gouraud明暗处理的缺点。 Phong明暗处理能正确地模拟高 光并能大大减轻马赫带效应。 也可采用扫描线双线性插值方 法
常采用余弦函数的幂次来模拟一般光滑表面的 镜面反射光的空间分布
N
入射光 反射光
入射光
N
反射光
n大 n小
一般光滑平面 (b)
纯镜面 (a)
图 8.4 镜面反射
采用余弦函数的幂次来模拟一般光滑表面的镜面反射光的空间分布。
I s I ps k s cosn
Is 为观察者接受到的镜面反射光亮度 Ips为入射光的光亮度, θ 为镜面反射方向和视线方向的夹角,介于0o到90o之间 n为镜面反射光的会聚指数(与物体表面光滑度有关) ks为镜面反射系数(与材料性质和入射光波长有关)。
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
这种增量方式的光亮度计算使得Gouraud明暗 处理广泛用于速度要求较高的应用领域
Gouraud明暗处理的缺点
不能正确地模拟高光
这是因为采用光亮度插值后将使多边形内的高光丢失。
所绘制画面会诱发马赫带效应
虽然光亮度双线性插值保证了由多边形近似表示的曲面上各处光 亮度的连续变化,但在相邻多边形的公共边界上光亮度的一阶导数 并不连续,由于人眼的光学错觉,光亮度变化一阶不连续的边界处 会呈现亮带或黑带,即马赫带效应。
I=kaIpa+∑[kdIpdEd + ksIpsEns] –Ed=(N0·L0)为漫反射明暗度 –Es=(N0·H0)为镜面反射明暗度
相关主题