gjlchp10真实感图形绘制.ppt

上传人:本田雅阁 文档编号:2201545 上传时间:2019-03-03 格式:PPT 页数:80 大小:1.03MB
返回 下载 相关 举报
gjlchp10真实感图形绘制.ppt_第1页
第1页 / 共80页
gjlchp10真实感图形绘制.ppt_第2页
第2页 / 共80页
gjlchp10真实感图形绘制.ppt_第3页
第3页 / 共80页
亲,该文档总共80页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《gjlchp10真实感图形绘制.ppt》由会员分享,可在线阅读,更多相关《gjlchp10真实感图形绘制.ppt(80页珍藏版)》请在三一文库上搜索。

1、2019/3/3,浙江大学计算机图形学,1,第十章 真实感图形绘制,简单光照明模型 多边形绘制方法 透明 整体光照明模型 光线跟踪算法,2019/3/3,浙江大学计算机图形学,2,第十章 真实感图形绘制,光照模型(Illumination Model):计算某一点的光强度的模型,2019/3/3,浙江大学计算机图形学,3,真实感图形的特点,能反映物体表面颜色和亮度的细微变化 能表现物体表面的质感 能通过光照下的物体阴影,极大地改善场景的深度感和层次感,充分体现物体间的相互遮挡关系 能模拟透明物体的透明效果和镜面物体的镜面效果,2019/3/3,浙江大学计算机图形学,4,影响观察者看到的表面颜色

2、的因素,物体的几何形状 光源 位置、距离、颜色、数量、强度、种类 环境 遮挡关系、光的反射与折射、阴影 视点位置 物性 材料、颜色、透明度 折射性 表面光洁度,2019/3/3,浙江大学计算机图形学,5,光源,几何性质 点光源 线光源 面光源 光谱组成 白色光等能量的各种波长可见光的组合 彩色光 单色光,2019/3/3,浙江大学计算机图形学,6,真实感图形学早期发展,1967年,Wylie等人第一次在显示物体时加进光照效果,认为光强与距离成反比。 1970年,Bouknight提出第一个光反射模型:Lambert漫反射环境光 1971年,Gouraud提出漫反射模型加插值的思想 1975年,

3、Phong提出图形学中第一个有影响的光照明模型,2019/3/3,浙江大学计算机图形学,7,相关物理知识,光的传播 反射定律:入射角等于反射角,而且反射光线、入射光线与法向量在同一平面上,光源,法向量,入射光,反射光,视线,2019/3/3,浙江大学计算机图形学,8,折射定律,折射定律:折射线在入射线与法线构成的平面上,折射角与入射角满足,2019/3/3,浙江大学计算机图形学,9,能量关系,在光的反射和折射现象中的能量分布: 下标为i,d,s,t,v的能量项分别表示为入射光强,漫反射光强,镜面反射光强,透射光强,吸收光强 能量是守恒的,2019/3/3,浙江大学计算机图形学,10,简单光照明

4、模型,模拟物体表面的光照明物理现象的数学模型光照明模型 简单光照明模型亦称局部光照明模型,其假定物体是不透明的,只考虑光源的直接照射,而将光在物体之间的传播效果笼统地模拟为环境光。 可以处理物体之间光照的相互作用的模型称为整体光照明模型,2019/3/3,浙江大学计算机图形学,11,简单光照明模型,光照射到物体表面,主要发生: 反射 透射(对透明物体) 部分被吸收成热能 反射光,透射光决定了物体所呈现的颜色,2019/3/3,浙江大学计算机图形学,12,简单光照明模型-环境光,假定物体是不透明的(即无透射光) 环境光:在空间中近似均匀分布,即在任何位置、任何方向上强度一样,记为Ia 环境光反射

5、系数Ka:在分布均匀的环境光照射下,不同物体表面所呈现的亮度未必相同,因为它们的环境光反射系数不同。 光照明方程(仅含环境光): Ie = KaIa Ie为物体表面所呈现的亮度。,2019/3/3,浙江大学计算机图形学,13,简单光照明模型- 环境光例子,具有不同环境光反射系数的两个球,2019/3/3,浙江大学计算机图形学,14,简单光照明模型-环境光,缺点:虽然不同的物体具有不同的亮度,但是同一物体的表面的亮度是一个恒定的值,没有明暗的自然过度。,2019/3/3,浙江大学计算机图形学,15,简单光照明模型,考虑引入点光源。 点光源:几何形状为一个点,位于空间中的某个位置,向周围所有的方向

6、上辐射等强度的光。记其亮度为Ip 点光源的照射:在物体的不同部分其亮度也不同,亮度的大小依赖于物体的朝向及它与点光源之间的距离.,2019/3/3,浙江大学计算机图形学,16,简单光照明模型:-漫反射角度余弦的推导,漫反射 粗糙、无光泽物体(如粉笔)表面对光的反射 光照明方程 漫反射的亮度 点光源的亮度 漫反射系数 入射角 漫反射光的强度 只与入射角有关,2019/3/3,浙江大学计算机图形学,17,简单光照明模型-漫反射,将环境光与漫反射结合起来 一般取Ia = (0.020.2)Id 例子,2019/3/3,浙江大学计算机图形学,18,简单光照明模型-漫反射,缺点:对于许多物体,使用上式计

7、算其反射光是可行的,但对于大多数的物体,如擦亮的金属、光滑的塑料等是不适用的,原因是这些物体还会产生镜面发射。,2019/3/3,浙江大学计算机图形学,19,简单光照明模型-镜面反射,镜面反射 光滑物体(如金属或塑料)表面对光的反射 高光 入射光在光滑物体表面形成的特别亮的区域,2019/3/3,浙江大学计算机图形学,20,简单光照明模型-镜面反射,理想镜面反射 观察者只能在反射方向上才能看到反射光,偏离了该方向则看不到任何光。,2019/3/3,浙江大学计算机图形学,21,简单光照明模型-镜面反射,非理想镜面反射 P为物体表面上一点,L为从P指向光源的单位矢量,N为单位法矢量,R为反射单位矢

8、量,V为从P指向视点的单位矢量,光滑平面,I = Ip K scosna,镜面,2019/3/3,浙江大学计算机图形学,22,简单光照明模型-镜面反射,镜面反射 Is为镜面反射光强。 点光源的亮度 Ks是与物体有关的镜面反射系数。n为镜面反射指数,n越大,则Is随a的增大衰减的越快。 n的取值与表面粗糙程度有关。 n越大,表面越平滑(散射现象少,稍一偏离,明暗亮度急剧下降) n越小,表面越毛糙(散射现象严重),或,2019/3/3,浙江大学计算机图形学,23,简单光照明模型-镜面反射,反射方向计算 L在N上的投影矢量为Ncosu,则S+L= Ncosu 记矢量S= Ncosu -L 则有R=

9、Ncosu +S,2019/3/3,浙江大学计算机图形学,24,简单光照明模型-Phong光照明模型,简单光照明模型模拟物体表面对光的反射作用,光源为点光源 反射作用分为 物体间作用用环境光(Ambient Light) 漫反射(Diffuse Reflection) 镜面反射(Specular Reflection),2019/3/3,浙江大学计算机图形学,25,简单光照明模型-Phong光照明模型,Phong光照明模型的综合表述:由物体表面上一点P反射到视点的光强I为环境光的反射光强Ie、理想漫反射光强Id、和镜面反射光Is的总和。,2019/3/3,浙江大学计算机图形学,26,简单光照明

10、模型-Phong光照明模型的实现,对物体表面上的每个点P,均需计算光线的反射方向。为了减少计算量,假设: 光源在无穷远处,L为常向量 视点在无穷远处,V为常向量 (HN)近似(RV),H为L与V的平分向量,N,H,L,R,a,V,b,H-L和V的角平分线,对所有的点总共只需计算一次H的值,节省了计算时间,2019/3/3,浙江大学计算机图形学,27,简单光照明模型-Phong光照明模型,Phong模型几何,2019/3/3,浙江大学计算机图形学,28,简单光照明模型-光的衰减,光的衰减 两个阶段: 1)从光源到物体表面的过程中的衰减 2)从物体表面到人眼过程中的衰减 总的效果:物体表面的亮度降

11、低 光照明方程 1)有效衰减函数的加入 2)深度暗示技术的加入,2019/3/3,浙江大学计算机图形学,29,简单光照明模型-光的衰减,光的衰减 光在光源到物体表面过程中的衰减 光强按 1/d2 进行衰减: 缺点:当d很大时,变化很小;当d很小时,变化很大。 衰减函数 光照明方程,2019/3/3,浙江大学计算机图形学,30,简单光照明模型-光的衰减,光在物体表面到人眼过程中的衰减 深度暗示(Depth Cueing)技术:最初用于线框图形的显示,使距离远的点比近的点暗一些。经过改进,这种技术同样适用于真实感图形显示。 设前参考面Z=Zf,后参考面Z=Zb;其比例因子分别为Sf和Sb( Sf和

12、Sb e0,1)。给定物体上一点的深度值Z0,该点对 应的比例因子S0按如下 方式确定,前参考面,后参考面,2019/3/3,浙江大学计算机图形学,31,简单光照明模型-光的衰减,当Z0 Zf时,取S0=Sf 当Z0 Zf时,取S0 =Sb 当Z0e Zb,Zf时,取 原亮度I按比例S0与融和亮度Idc混合,目的是获得最终用于显示的亮度I,Idc由用户指定,,2019/3/3,浙江大学计算机图形学,32,简单光照明模型-光的衰减,特例: 取Sf=1,Sb=0,Idc=0,则当物体位于参考面之前时,S0= Sf= 1,I=I,即亮度没有被衰减。当物体位于后参考面之后时, S0 = Sb =0,

13、I=Idc=0,即亮度衰减为0。而当Z0e Zb,Zf时,I=S0I,亮度被部分衰减。由此可以产生较好的效果。,2019/3/3,浙江大学计算机图形学,33,简单光照明模型-彩色场景的产生,产生彩色 选择合适的颜色模型-RGB模型 为颜色模型中的每一种基色建立光照明方程,2019/3/3,浙江大学计算机图形学,34,简单光照明模型-彩色场景的产生,系数分解 上述各等式中,右端的矢量用来控制表面的基本颜色,当选定了物体表面的颜色之后,它们就固定不变了。用户通过调节Ka,Kd,Ks来改变表面的反射率。,2019/3/3,浙江大学计算机图形学,35,简单光照明模型-彩色场景的产生,新的光照明方程 统

14、一表示,2019/3/3,浙江大学计算机图形学,36,简单光照明模型-多个光源,采用多个光源 采用m个光源的光照明方程,2019/3/3,浙江大学计算机图形学,37,简单光照明模型-多个光源,例子:其中a图:线框图 b图:环境光 c图:增加漫反射 d图:增加镜面反射 e图:增加光的衰减 f图:两个点光源,2019/3/3,浙江大学计算机图形学,38,Phong光照明模型的不足,Phong光照明模型是真实感图形学中提出的第一个有影响的光照明模型 经验模型,Phong模型存在不足: 显示出的物体象塑料,无质感变化 没有考虑物体间相互反射光 镜面反射颜色与材质无关 镜面反射大入射角失真现象,2019

15、/3/3,浙江大学计算机图形学,39,多边形绘制方法,分类:均匀着色与光滑着色 均匀着色 方法:任取多边形上一点,利用光照明方程计算出它的颜色,用这个颜色填充整个多边形 适用场合:1)光源在无穷远处; 2)视点在无穷远处; 3)多边形是物体表面的精确表示;,2019/3/3,浙江大学计算机图形学,40,多边形绘制方法,缺点:产生的图形效果不好。 如左图:相邻两个多边形的法向不同,计算出来的颜色也不同,因此造成整个物体表面的颜色过渡不光滑。 如何解决? 光滑着色,亦称插值着色 Gouraud着色方法 Phong着色方法,2019/3/3,浙江大学计算机图形学,41,Gouraud着色方法,Gou

16、raud于1971年提出,又被称Gouraud明暗处理 基本思想:在每个多边形顶点处计算颜色,然后在各个多边形内部进行线性插值,得到多边形内部各点颜色。即它是一种颜色插值着色方法。 注意:Gouraud着色方法并不是孤立的处理单个多边形,而是将构成一个物体表面的所有多边形(多边形网格)作为一个整体来处理。,2019/3/3,浙江大学计算机图形学,42,Gourand 着色方法,对多边形网格中的每一个多边形,Gourand 着色处理分为如下四个步骤: 步骤 1、计算多边形的单位法矢量 2、计算多边形顶点的单位法矢量,2019/3/3,浙江大学计算机图形学,43,与某个顶点相邻的所有多边形的法向平

17、均值近似作为该顶点的近似法向量 计算出的平均法向一般与该多边形物体近似曲面的切平面比较接近,Gouraud着色方法-顶点法向计算,2019/3/3,浙江大学计算机图形学,44,Gourand 着色方法,3、利用光照明方程计算顶点光强(颜色) 4、对多边形顶点光强(颜色)进行双线性插值,获得多边形内部各点的光强(颜色),2019/3/3,浙江大学计算机图形学,45,Gourand 着色方法-光强插值,双线性光强插值:假设待绘制的三角形投影为P1P2P3,Pi的坐标为(xi,yi),i=1,2,3;一条扫描线与三角形的两条边分别交于A(xA,yA),B(xB,yB)两点。P(x,y)是AB上的一点

18、。A点的颜色IA由P1、P2点的颜色I1、I2线性插值得到,2019/3/3,浙江大学计算机图形学,46,Gourand 着色方法-增量算法,采用增量算法可以加速计算。 1)当扫描线y递增一个单位变为y+1时,IA、IB的增量分别为DIA ,DIB,即,2019/3/3,浙江大学计算机图形学,47,Gourand 着色方法-增量算法,2)当x递增一个单位时,IP的增量为DIP 即,2019/3/3,浙江大学计算机图形学,48,Gourand 着色方法,优点:能有效的显示漫反射曲面,计算量小 缺点: 1、高光有时会异常 2、当对曲面采用不同的多边形进行分割时会产生不同的效果。 3、Gouraud

19、明暗处理会造成表面上出现过亮或过暗的条纹,称为马赫带(Mach_band)效应 改进Phong提出双线性法向插值,以时间为代价,解决高光问题,2019/3/3,浙江大学计算机图形学,49,Phong着色方法,基本思想:通过对多边形顶点的法矢量进行插值,获得其内部各点的法矢量,又称为法向插值着色方法。 步骤 1、计算多边形单位法矢量 2、计算多边形顶点单位法矢量 3、对多边形顶点法矢量进行双线性插值,获得内部各点的法矢量 4、利用光照明方程计算多边形内部各点颜色,2019/3/3,浙江大学计算机图形学,50,Phong着色方法-法向插值,NA由N1、N2线性插值得到:,2019/3/3,浙江大学

20、计算机图形学,51,Phong着色方法-增量算法,采用增量算法可以加速计算。 1)当扫描线y递增一个单位变为y+1时,NA、NB的增量分别为DNA ,DNB,即,2019/3/3,浙江大学计算机图形学,52,Phong着色方法-增量算法,2)当x递增一个单位时,IP的增量为DIP 即,2019/3/3,浙江大学计算机图形学,53,Phong着色方法,优点: Phong着色方法绘制的图形比Gouraud方法更真实,体现在两个方面:高光区域的扩散,产生正确的高光区域 缺点: 1、Phong着色方法计算量远大于Gouraud着色方法 2、在处理某些多边形分割的曲面时,Phong算法还不如Gourau

21、d算法好。,2019/3/3,浙江大学计算机图形学,54,增量式模型示例,牛的三角网格模型 用简单光照明模型显示 用增量式光照明模型显示,2019/3/3,浙江大学计算机图形学,55,插值多边形绘制方法,着色方法存在的问题 不光滑的物体轮廓:物体边缘轮廓是折线段而非光滑曲线,2019/3/3,浙江大学计算机图形学,56,插值着色多边形绘制方法,方向依赖性,2019/3/3,浙江大学计算机图形学,57,插值着色多边形绘制方法,公共顶点处颜色不连续 顶点方向不具有代表性,2019/3/3,浙江大学计算机图形学,58,透明,现实世界中有许多透明物体,如玻璃等。透过透明物体,可以观察到其后面的景物。如

22、何模拟这种透明效果呢? 模拟透明的最简单的方法是忽略光线在穿过透明体时所发生的折射。虽然这种模拟方法产生的结果不真实,但在许多场合往往非常有用。例如:我们有时希望能够看到透过某透明物体观察其后面的景物,而又不希望景物应为折射而发生变形。,2019/3/3,浙江大学计算机图形学,59,透明效果的简单模拟,不考虑透明体对光的折射以及透明物体本身的厚度 光通过物体表面不改变方向 产生简单透明效果的方法 插值透明方法 过滤透明方法,2019/3/3,浙江大学计算机图形学,60,简单透明-插值透明,假设:多边形1是透明的,它位于观察者与不透明的多边形2之间。像素的颜色Il由A、B两点的颜色Il1和Il2

23、插值产生,即 其中Kt1是多边形1的透射系数。 Kt1范围(0,1) Kt1 =0表示多边形完全不透明,所以Il = Il1 Kt1 =1表示多边形完全透明,所以Il = Il2,2019/3/3,浙江大学计算机图形学,61,简单透明-插值透明,为了产生逼真的效果,通常只对两个多边形表面颜色的环境光分量和漫反射分量采用 进行计算,得到的结果再加上多边形1的镜面反射分量作为像素的颜色值。,2019/3/3,浙江大学计算机图形学,62,简单透明-过滤透明,过滤透明方法将透明物体看作一个过滤器,有选择的允许某些光透过而屏蔽了其余的光。对右图有: 其中Kt1仍是多边形1的透射系数,但不再局限于(01)

24、。 Kt1越大,多边形2的颜色透过来的越多。Ctl对不同的颜色各不相同。 Ctl =0表示某种颜色的光不能透过多边形1。,2019/3/3,浙江大学计算机图形学,63,简单透明,无论采用插值透明方法还是采用过滤透明方法,当多边形1之前还有其它的透明多边形时,Il都要递归计算。 简单透明比较容易结合到多边形绘制算法中。,2019/3/3,浙江大学计算机图形学,64,考虑折射的透明,折射定律 其中:i ,t分别是入射光线在空气,物体中的折射率,i 、t分别是入射角和折射角,2019/3/3,浙江大学计算机图形学,65,考虑折射的透明-透射矢量的计算,设单位入射光矢量为I(方向与光线的入射方向相反)

25、,单位法矢量为N,单位透射光矢量为T,则,2019/3/3,浙江大学计算机图形学,66,考虑折射的透明,当光线从高密度介质向低密度介质时,hiht,即qtqi。如果入射角不断增大,到一定的程度,折射角qt =90度,此时透射光线沿着平行于分界面的方向传播,称此时的qi为临界角度,记为qc 。当qi qc时,发生全反射,透射与反射光合二为一。 如何产生带有折射的透明效果呢?,2019/3/3,浙江大学计算机图形学,67,光透射模型的研究,早期简单透射现象的模拟 1980年,Whitted光透射模型,首次考虑了光线的折射现象 1983年,在Whitted的基础上,Hall光透射模型,考虑了漫透射和

26、规则透射光,2019/3/3,浙江大学计算机图形学,68,整体光照明模型,简单光照模型(亦称局部光照模型)不考虑周围环境对当前景物表面的光照明影响,忽略了光在环境景物之间的传递,很难表现自然界复杂场景的高质量真实感图形。为了增加图形的真实感,必须考虑环境的漫射、镜面反射和规则投射对景物表面产生的整体照明效果。,2019/3/3,浙江大学计算机图形学,69,整体光照明模型,物体表面入射光的构成 (1)光源直接照射 (2)其它物体的反射光 (3)透射光 局部光照明模型仅考虑了(1),2019/3/3,浙江大学计算机图形学,70,整体光照明模型,例如:从视点观察到的物体A表面的亮度来源于三方面的贡献

27、: (1)光源直接照射到A的表面,然后被反射到人眼中的光产生的。 (2)光源或其它物体的光经A物体折射到人眼中的光产生的。 (3)物体B的表面将光反射到物体A的表面,再经物体A的表面反射到人眼中产生的。 局部光照明模型仅考虑了(1),2019/3/3,浙江大学计算机图形学,71,Witted光照模型,Whitted光照模型基于如下假设: 物体表面向视点方向V辐射的光亮度Il由三部分组成: (1)光源直接照射引起的反射光亮度Ill。 (2)来自V的镜面反射方向R的其它物体反射或折射来的光的亮度Isl。 (3)来自V的透射方向T的其它物体反射或折射来的光的亮度Itl,2019/3/3,浙江大学计算

28、机图形学,72,Witted光照模型,Witted光照模型:Il= Ill + Ks Isl + KtItl 或 Isl为镜面反射方向的入射光强度;Ks为镜面反射系数,为01之间的一个常数 Itl为折射方向光强,Kt为透射系数,是0 1之间的常数 Ill的计算可采用Phong模型 因此,关键是Is和It的计算。如何计算呢?,2019/3/3,浙江大学计算机图形学,73,Witted光照模型-反射、折射方向计算,已知视线方向V,求其反射方向R与折射方向T(N是表面的法向方向) 视线V的反射方向R 折射方向T,2019/3/3,浙江大学计算机图形学,74,光线跟踪算法的基本原理,自然界中光线的传播

29、过程 光源 物体表面 物体表面 人眼 光线跟踪过程-光线传播的逆过程,2019/3/3,浙江大学计算机图形学,75,光线跟踪算法的基本原理,从视点向每个象素发出一条光线,它与场景中的一些物体表面相交,最近的交点即为可见点,记为P,像素的亮度即由P点的亮度确定。由Whitted光照模型可知,P点的亮度由三部分组成:其中Ill可以直接由局部光照模型计算得到。,2019/3/3,浙江大学计算机图形学,76,光线跟踪算法的基本原理,为了求Isl和Itl,从P点发出反射光线和透射光线,它分别交场景中的物体表面于Ps和Pt,Ps和Pt点的亮度即分别为Isl和Itl ,将它们求出代入Whitted模型即可。

30、但是,Isl和Itl同样由Whitted模型确定,即Whitted模型是一个递归式,从而计算Isl和Itl需要重复以上的计算过程:计算局部光亮度、发出反射光线与透射光线。可以用一棵光线树来表示,2019/3/3,浙江大学计算机图形学,77,光线跟踪算法的基本原理,递归终止条件: 1、光线不与场景中的任何物体相交 2、被跟踪的光线达到了给定的层次 3、由于Ks和Kt都小于1.0,当光线经过反射和折射后,其亮度会衰减。因此可以预先设置一个阈值,在进行光线跟踪时,若被跟踪光线对像素亮度的贡献小于这个阈值,便停止跟踪。,2019/3/3,浙江大学计算机图形学,78,光线跟踪算法-算法描述,设置视点,投

31、影平面以及窗口的参数; For (窗口内的每一条扫描线) for (扫描线上的每一个像素) 确定从视点指向像素中心的光线ray; 像素的颜色=RayTracing(ray,1); ,2019/3/3,浙江大学计算机图形学,79,光线跟踪算法描述,Color RayTracing(Ray ray, int depth) 求ray与物体表面最近的交点P; if (有交点) 用局部光照明模型计算P点的Ic; color = Ic; if (depth给定的最大跟踪层次) 计算ray的反射光线; Is=RayTracing(反射光线,depth+1); if (物体是透明的) 计算ray的透射光线; It=RayTracing(透射光线,depth+1); color = Ic + Is + It ; else color = black; return color ; ,2019/3/3,浙江大学计算机图形学,80,光线跟踪算法,优点: 能够方便的产生阴影,模拟镜面反射与折射现象。 缺点: 计算量大,每一条光线都要与场景中的物体进行求交、计算光照模型等。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1