第八章 光照模型与面绘制算法Word格式.docx
- 文档编号:7876891
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:19
- 大小:30.20KB
第八章 光照模型与面绘制算法Word格式.docx
《第八章 光照模型与面绘制算法Word格式.docx》由会员分享,可在线阅读,更多相关《第八章 光照模型与面绘制算法Word格式.docx(19页珍藏版)》请在冰点文库上搜索。
反射光线的强弱由表面的材质类型决定;
2)被吸收;
3)被折射(透明物体)。
表面光滑的材质,反射较多的入射光,吸收较少的入射光;
表面粗糙的物体往往将发射光向各个方向散射:
—漫反射(光线的散射现象)。
反射包括:
1)漫反射;
粗糙的物体表面将反射光向各个方向散射=>
从各个视角观察到的光亮度几乎相同。
物体的颜色实际上就是入射光线被漫反射后表现出的颜色。
一束白光照在一个蓝色物体-->
蓝色被反射其它的被吸收;
红光->
蓝色物体,物体为黑色(红光被吸收)。
2)镜面反射:
磨光的物体表面上产生高光或强光。
2、基本光照模型
在基本光照模型中,假设所有的光源均为点光源,且已知其位置和光强度(颜色)。
它是一中简单有效的方法。
在基本光照模型中光线的计算,主要基于物体表面的材质,背景光线条件及光源。
一、环境光
一个物体表面即使不直接暴露于光源之下,只要其周围的物体被照明,它也可能看得见。
环境光(ambientlight):
或称背景光(泛光),是场景的基准光亮度。
特点:
没有空间或方向上的特征,在所有方向上和所有物体表面上投射的环境光数量恒定不变。
表示:
Ia,表示场景中的环境光大小。
因而由环境光产生的反射光与观察方向和物体表面的朝向无关。
ka:
环境光的反射常数(ka:
0—1)
由环境光产生的反射光强度:
Iambdiff=ka*Ia.
二、点光源漫反射
kd:
漫反射率(diffusereflectivity)漫反射系数,
表示入射光线被漫反射部分的百分比.与物体各表面的材质属性有关。
是物体颜色的函数,设为常数。
理想漫反射体(Lambert反射体):
光线被物体表面漫反射后向各个方向以等光强度发散,与观察方向无关.
所以从表面上任意点所发散的光线可由朗伯余弦定律计算而得。
(P391图14.8)
Ildiff=Rd*Ilcos(θ)
Il:
点光源强度;
θ:
入射角;
θ:
00--900
光强度决定于它获得的幅射能.
面片的光亮度依赖于它与光源的相对朝向,与入射光方向垂直的面片同一个与入射光方向成斜面的面片相比,其光亮程度要大得多(可看成入射光的强度不同).
(P391图14.9)
N:
物体表面的单位法向量
L:
从表面上指向点光源的单位方向,则cos(θ)=N·
L;
由光源的漫反射光强为:
Ildiff=kd*Il(N·
L)
所以物体的漫反射光强为:
Ildiff=ka*Ia+kd*Il(N·
L).
物体离光源近,强度大.
物体离光源远,强度小.
Ildiff=ka*Ia+kd*Il(N·
L)/(D+K).
K为常数(使分母不为0).
(例P391,P392)
三、镜面反射和Phong模型
当观察一个光照下的光滑物体表面,如磨光的金属,可能在某个观察方向上看到高光或强光----镜面反射。
在接近镜面反射角的一个会聚区域内入射光的全部或绝大部分成为反射光。
镜面反射时,反射角=入射角
(P393图)
对于理想的反射体,当φ=0时,才能观察到反射光线;
(φ:
观察方向与反射方向的夹角)
对于非理想反射体系统,其镜面反射方向分布在R周围的有限范围内。
※光滑表面的镜面反射范围小,粗糙表面的镜面反射范围大。
Phong镜面反射模型:
(Phong模型):
镜面反射光强度与cos(φ)成正比.φ:
00--900
镜面反射参数ns:
由被观察的物体表面材质所决定.
ns大:
光滑表面,ns>
100,理想的反射器ns->
∞
ns小:
粗糙表面,ns<
1,煤渣ns≈1
镜面反射的光强度主要由物体表面材质属性,光线入射角,入射光颜色等因素决定。
用镜面反射系数W(θ):
近似表示镜面反射光强度的变化,它是入射角θ的函数。
00--900
Ispec=W(θ)*Il*cosns(φ)=W(θ,λ)*Il*cosns(φ).λ:
光的波长。
对于θ的大部分范围,反射强度小于入射光的10%(P393图14.14)。
W(θ)或W(θ,λ)比较复杂,实用时常根据美学观点或实验数据用常数ks代替。
Ispec=ks*Il*cosns(φ)=ks*Il*(V·
R)ns
(P394图14.16)
R+L=2(N·
L)N,R=2(N·
L)N-L.
例P395图14.17,对于不同的ks和ns的光照效果。
(彩图14.19)
简化的phong模型:
用cos(α)代替cos(φ)计算
(P395图14.18)cos(α)=N·
H,
H:
方向L与V的角平分线方向,α为法线方向N与H的夹角。
※简化计算:
1.观察者与光源离物体表面足够远,且V与L均为常量,
则H为常量,N·
H比V·
R计算量小(为了求R,需要先计算N)
2.对于给定的光源和视点,H方向是观察方向上产生最大镜面反射的面片的朝向,所以H有时为面片高光最大的表面的法方向(N=H)。
3.若V与L、R、N共面,则α=φ/2;
否则α>
φ/2(不共面时)
φ+(θ-α)=θ+α
四、多光源漫反射和镜面反射的合并
单个点光源,表面上某点处的漫反射和镜面反射为
I=Ildiff+Ispec
=ka*Ia+kd*Il(N·
L)+ks*Il*(N·
H)ns.
若在场景中放置多个点光源
=ka*Ia+
Ili(kd*(N·
L)+ks*(N·
H)ns).
为了保证每个象素的光强度不超过某个上限,采取一些规范化操作。
1)对光强度计算公式设置上限,超过上限,取上限(简单);
2)将各项除以最大项的绝对值;
3)计算出场景中各象素的强度,然后按比例变换到正常的光强范围内(复杂)。
五、Warn模型
Warn模型提供一仲模拟立体光照效果的方法,它是通过在多个方向上控制光强度来实现。
在Warn模型中,光源被表示为一个反射面上的许多点,对各点采用phong模型进行计算,通过设置phong模型中各项的值来控制不同方向上的光强度。
六、强度衰减
光线从一点光源出发在空间中传播时,它的强度按1/d2进行衰减(d为光线经过的路程长度).
所以在真实感图形显示中,光照明模型中必须考虑光强度的衰减。
如果不考虑光强度的衰减,二个有相同光学效果的平行表面互相遮挡时,它们将无法被区分开来,显示成为一张面。
但不可简单地用1/d2作为衰减因子。
常用的二次衰减函数的倒数:
f(d)=1/(a0+a1d+a2d2)
调整a0、a1、a2的值,可得到场景中不同的光照效果。
a0的作用:
防止d很小时,f(d)太大
f(d)=min(1,1/(a0+a1d+a2d2))
基本光照模型:
I=ka*Ia+
f(di)Ili(kd*(N·
di:
光线从点光源Ii出发所经过的路程.
七、颜色
在RGB描述中,场景中的每个颜色用R、G、B三个分量表示,用RGB各分量来标识光源强度和物体表面颜色,并据光照模型来计算反射光线中的RGB分量。
1)反射系数标识为三元分量
kd=(kdR,kdG,kdB),
物体为蓝色0≤kdB≤1,kdR=0,kdG=0
IB=kaB*IaB+
f(di)IlBi(kdB*(N·
L)+ksB*(N·
2)每个表面定义漫反射和镜面反射的颜色向量,将反射参数定义为单值常数;
IB=ka*SdB*IaB+
f(di)IlBi(kd*SdB*(N·
L)+ks*SsB*(N·
漫反射颜色分量:
(SdR,SdG,SdB)
镜面反射颜色发量(SsR,SSG,SSB)
3)使用光谱波长入来表示彩色中的各分量
(各种波长的光的反射系数不同)
Iλ=ka*Sdλ*Iaλ+
f(di)Ilλi(kd*Sdλ*(N·
L)+ks*Ssλ*(N·
八透明度
透明物体的表面会产生反射光和折射光,折射光的相关贡献决定于表面的透明程度,(透明表面后是否有光源或表面)
要表示一个透明表面时,将穿过表面的光线的贡献包括进去。
(彩图14.26)
图P39814.25
折射率:
定义为光线在真空中的速度与其在物质中速度之比率。
P398图14.27
sin(
)=
sin(
).
折射的最终结果是将入射光线进行平移.
透射方向T=(
cos(
)-cos(
))N-
L
=-cos(
)N+sin(
)(Ncos(
)-L)/sin(
T可用于计算折射光与透明面片后的物体的交点.
将折射效果考虑在场景显示中,可生成高度真实感的图形,但计算量相当大。
在实际操作中,简化,不考虑折射导致的路经平移,(即物体间折射率不变,入射角=折射角)以加速光强度的计算。
透明系数kt,0≤kt≤1标识多少背景光线被透射
物体表面的总光强:
I=(1-kt)Irefl+ktItrans
Irefl:
反射强度(透明表面)
Itrans:
透射强度(背景物体)
kt=0:
不透明面
kt=1:
高度透明面
1-kt为透明因子
马赫带效应(奥地得物理学家):
当观察画面上具有常数光强的区域时,在其边界处眼睛所感到的明亮度常常会超出实际值,它使得光强为常数的区域看上去似乎是光强度发生了变化(更暗或更暗)
九阴影
当观察方向与光源方向重合时,观察者看不到任何限影,但当二者不一致时,就会出现限影,限影歙人感到画面上景物的远近深浅,从而极大地增强画面的真实感。
阴影由二部分组成:
本影位于中间的全黑的轮廓分明的部分,点光源只产生本影
半影本影周围半明半暗的区域,位于有限距离内的分布光源则同时形成本影和半影
阴影分二类:
自身阴影物体自身的遮挡使光线照不到它上面的某些面,自身隐藏面
投射阴影物体遮挡光线,使场影中位地它后面的物体或区域受不到光照而形成P388例
可以光源投射光线将所胡非自身隐藏面投影到场景中而得到
投影面与场景中其它平面的交线组成阴影多边形(实际上,只需先找到物体的轮廓线并将它对场景作投影,而不必将所有非自隐藏面一一投影到场景中。
阴影决定于光源的位置而与观察者的位置无关,可将阴影看作表面图案而保存在模式数组中。
3光强度显示
由光照模型计算出的光强度值必须转换为特定的图形系统中的一种强度等级,才能进行显示
系统:
多种强度等级:
光强度=>
帧缓冲器中的强度等级
每个象度显示二个等级(开、关)强度=>
半色调模式
一分配强度等
对光强度的感觉是按对数等变化
5、多边形缓制算法
物体通常用多边形网格来逼近曲面体(或仅是多面体)
扫描线算法从光照模型来实现多边形面片的绘
二种方法:
将每个多边形用单一光强来绘制
用扫描法得到面上各点的光强度
一恒定光强度的明暗处理
又称平面明暗处理(flstshading)
每个多边形均对应一个光强度,即面上所有均用相同的强度值来显示,速度快,对于快速显示一个曲面的大致外观很有效
适用条件:
1、物体是一个多面体,而不是含曲面物体伯近似表示
2、光源离物体表面足够远,以使N、L与和衰减函数对物理表面是一个常数
3、视点离物体表物足够远,使N、R对表面是常数
即使以上条件均不成立,可以每个小面片中心的光强度值作为该面片的值
二、Gouraud明暗处理
采用强度插值模式
在面片上将光强度值进行线性插值来绘制多边形面片,每个多边形的强度值沿着化共边与相邻多边形的值相接以消除在平面绘制中存在的光强度不连续现象。
Gouraud明暗处理的步骤:
1、确定每个多边形顶点处的平均单位法向量
2、对每个顶点根据光照模型计算光强度
3、在多边形表面上将顶点光强进行线性插值
1)顶点V的法向量
2)确定V点的光强度(运用光照模型)
3)沿多边形边对强度进行插值
对每条扫描线与多边形的交点处的强度值通过二个端点的强度插值得到
4)下一扫描线可用增量法插值计算
当表面用彩色进行绘制时,顶点处需计算各个颜色分量的强度
P399例
5)不足:
线性光强度插值会造成表面上出现过亮或过暗的条纹,称为马赫带(mach-band)效应面上的高光有时会出现异常形状。
三、Phong明暗处理(仍属于线性插值)(法向量插值明暗处理)
多边形面绘制的一个更精确的方法是对向量插值,然后在面上各点处理根据光照模型进行计算。
它能更真实地表现物体表面的高光效果并大大降低马赫带效应。
Phong明暗处理的步骤:
1、确定每个多边形顶点处近似单位法向量
2、在多边形面上将顶点法向量进行双线性插值
3、根据光照模型沿每条扫描线计算面上各点的强度
1)先求出A、B、C、D处的法向量线性求出Q、R处的法向量,线性插值求出P点的法向量
沿扫描线各象表处的法向量可按增量方法计算
二个相邻的象素位置
Phong模型与Gouraud模型对光强度的计算结果精确,但增加了大量的计算。
四、快速Phong明暗处理
采用近似计算来加快速度
利用Taylor一层式和三角形面片来近似计算光强度
1、求得三角面片各顶点法向量
2、三角形中任意点(x,y)处的表面法向量N=Ax+By+C
3、忽略反射率的衰减函数点(x,y)处的光源漫反射
对一个平面来说是确定值(对三角形内的点)Idiff(x,y)为二次多项式,利用向前差分,二阶差分为常数,对每个象素仅需二次加法的计算量,大大降低了计算量,但仍相当于Gourand模型2倍的时间。
6光线跟踪算法
光线跟踪(Raytracing)是光线投射思想的延伸,基本光线跟踪算法为可见面判别,明暗效果,透明及多光源照明等提供了可能。
光线跟踪技术虽然能够生成高度其实感的图形,特别是对于表面光滑的物体,但它所需的计算量却大得惊人。
一、基本光线跟踪算法
1、建立一个以投影面为xy平面的坐标系统,在该坐标系内对场景进行描述。
2、从投影中心出发,确定穿过每个屏幕象素中心的光线路经,沿这束光线累计光照度,并净最终值赋给象素。
物体表面
该绘制算法建立于几何光学基础上
场景中的面片所发出的光向四周散射,将有无数条光线穿过场景,但只有少量将穿过投影平面的象素单元。
从象素单元出发,反向跟踪一条向由它出发射向场景的光线并同时累计得到该象素的光强度值
每象素只考察一束光线,类似于通过单孔照相机观察场景。
一、生成光线跟踪树
1、对每个象素,光线,需测试场景中的所有物体表面以确定是否与该光线相交,并计算出交点离象素的距离。
2、具有最小距离的交点即为该象素所对应的可见面
3、考察该可见面上的反射光线(反射角=入射角)若透明,还需考察透过该面的折射光线,反射光线和折射光线统称为从属光线(Secondaryrays)
4、递归地与沿从属光线方向最近的物体表面上生成下一折射和反折射。
如此逐个将相交物体表面加入到一个二叉光线跟踪树中如P403图14-52
树的左分支表示反射光线右分支表示透射光线
最大深度可由用户选定或由存储容量决定
当树中的一束光线到达预定的最大深度或到达某光源时停止跟踪。
3、计算象素点的光强度值从光线跟踪树的叶节点开始,累计光强度贡献以确定某象素处的光强度,接后序遍历相应的光线追踪树,在树中每个结点处,递归地调用光照模型,每一结点处的光强值在输入到结点之前,按光线与两表面交点之间的距离进行衰减。
象素强度是光线跟踪树根结点处衰减光强的总和。
球,三角块,立方体均不透明,表面具有高度的镜面反射能力,观察者能看到球立方体的正面,还能看到三角块的几个映象和立方体的背面
特别地:
1)若光线跟踪树为空,即象素光线与V物体均不相交,光强值为背景色
2)若象素光线与一非反射的光源相交,光强值为光源的强度(距离衰减)
二、光线与物体表面的求交计算
光线是一射线:
最初P:
投影参考点或投影平面上的某象素点
U:
由投影参考点与象素位置确定(单位向量)
光线与物体表面相交时P由交点代替替
U由交点处的从属光线代替(反射光线方向R透射光线方向T
光线与物体表面相交
1、确定物体表面的平面方程(过法向N)
2、若给定一个半径为r,中心为P的球面,则球面方程则
设
则
若s<
0,则光线与球面不相交,否则取较小的s,求出交点P=
若球半径较小,计算过程中,可能出现误差,则r可能被丢失
多面体与球面比较,求交时间更长
1、利用包围体作求交测试
包围体:
球体或立方体
光线与包围体不交,则不必对多面体作测试
光线与包围体相交,首先找到“前表面”U、N<
0前面才与光线相交
另外,交点可能不在多边形边界内,通过内,外测试,确定光线是否与多面体的该表面相交,求出很多交点,选一个所有内点中距离P最近的点作为交点
三、减少物体求交计算量
光线跟踪过程中,约95%的时间用于光线与物体表面的求交计算
如何减少求交计算时间
1、包围体方法:
层次结构的包围体
(球、体)将几个包围体在一个更大的包围体中,首先测试最外层的包围体,根据需要,逐个测试各层的包围体
2、空间分割方法
将场景包含在一个立方体中,然后将立方体分割直到每个小立方体包含的物体表面或面片数小于等于一个预定的值。
分割二种方法:
均匀分割一个立方体分割为8个相同大小的体元
适应性细分仅对包含物体的立方体区域进行分割
分割单元采用一棵八叉树或二叉分割树存储
矛盾单元大小每个单元所有面片数目
面数小=>
单元小=>
花较多的时间在单元测试上
面数大=>
一个单元中比较的面数多
光线与立方体单求交(仅需与前表面求交)
若单元表面法向量与坐标轴对齐则:
前表面出口表面
只要检查分量的符号,即可确定三个可能的出口表面
选择最小的S
3、空间方向分割处理
考察包含一组光线的夹角区域:
在每个区域中,将物体表面进行深度排序
每束光线在包含它的区域内对物体测试
四、光线跟踪反走样
过采关,适应性采样,每个象素区域中采用多束均匀(过一)、(不均匀,适应性)排列的光线
采用随机分布的光线
一个象素的光强度通过将各束光线强度取平均值得到
7、P417添加表面细节
在物体表面添加纹理以准确地摸拟砖墙布纹、木纹
表面的文字,光滑表面的图案
两类纹理1、在光滑表面上描绘附加定义的花纹或图案,花纹绘上后,表面仍然光滑如款,用映射函数描述
2、使表面上呈现出凹凸不平的形状,如葡萄干用一个扰动函数表述,凹凸映射
一、在光滑表面上描绘花纹
将纹理模式映射到物体表面上
设花纹图案定义在纹理空间中的一个正交坐标系(s,t)纹理空理
纹理模式在一个纹理空间(s,t)坐标系中用光强值的矩形网格定义
场景中的物体表面定义在对象空间(u,u)坐标系中
投影平面上的象素点定义在(x,y)坐标系中
用二种方法实现纹理映射:
1、纹理模式(s,t)——>
(映射)物体表面(u,u)——>
(映射)投影平面(x,y)
2、象素区域——>
(映射)物体表面——>
纹理空间互逆变换
纹理空间——>
对象空间
对象空间——>
象素空间观察变换和投影变换
不利因素,选中的纹理面片与象素边界不匹配
象素空间=>
纹理空间的映射
象素点=>
物体表面上的点=>
纹理空间上的点
象素点=阶子式不为0=确定二坐标
二、凹凸映射(bumpmapping)
摸拟粗糙的物体表面
使用扰动法向量技术
若P(u,u)表示一个参数曲面上的一点
设点的法向单位值向
凹凸函数
扰动函数b很小则
单位化为
将用于光照模型中计算
凹凸函数b(u,u)定义一个可导的解析有为式
为了提高速度,通常是产生一个凹凸表
b的值可由线性插值和增量法得到
bu、bv可由有限次差分近似得到
凹凸表建立方法:
随机图案葡萄干
规则网格图案重复模式
文字形状文字
帧映射(Framemapping)是凹凸映射的延伸
物体表面的局部坐标Fremet标架,曲线曲面
切向`从切向
在方向和方向的扰动,可模拟木纹图案,布上的穿线图案
切线方向上有扰动
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八章 光照模型与面绘制算法 第八 光照 模型 绘制 算法