第十一章真实感图形绘制11.1简单光照明模型11.2多边形绘制方法11.3整体光照明模型真实感图形的特点及影响因素•能反映物体表面颜色和亮度的细微变化•能表现物体表面的质感•能通过光照下的物体阴影,极大地改善场景的深度感和层次感,充分体现物体间的相互遮挡关系•能模拟透明物体的透明效果和镜面物体的镜面效果特点:影响因素:①物体的几何形状②光源位置、距离、颜色、数量、强度、种类③环境遮挡关系、光的反射与折射、阴影④视点位置⑤物性材料、颜色、透明度折射性⑥表面光洁度光源性质①几何性质–点光源–线光源–面光源②光谱组成–白色光(等能量的各种波长可见光的组合)–彩色光–单色光真实感图形学早期发展•1967年,Wylie等人第一次在显示物体时加进光照效果,认为光强与距离成反比。•1970年,Bouknight提出第一个光反射模型:Lambert漫反射+环境光•1971年,Gouraud提出漫反射模型加插值的思想•1975年,Phong提出图形学中第一个有影响的光照明模型相关物理知识•光的传播–反射定律:入射角等于反射角,而且反射光线、入射光线与法向量在同一平面上光源法向量入射光反射光视线•光的折射–折射定律:折射线在入射线与法线构成的平面上,折射角与入射角满足入射光折射光2112sinsin•能量关系–在光的反射和折射现象中的能量分布:–下标为i,d,s,t,v的能量项分别表示为入射光强,漫反射光强,镜面反射光强,透射光强,吸收光强–能量是守恒的idstvIIIII11.1简单光照明模型模拟物体表面的光照明物理现象的数学模型-光照明模型简单光照明模型亦称局部光照明模型,其假定物体是不透明的,只考虑光源的直接照射,而将光在物体之间的传播效果笼统地模拟为环境光。可以处理物体之间光照相互作用的模型称为整体光照明模型一、简单光照明模型光照射到物体表面,主要发生:反射透射(对透明物体)部分被吸收成热能反射光、透射光决定了物体所呈现的颜色1、简单光照明模型--环境光假定物体是不透明的(即无透射光)•环境光:在空间中近似均匀分布,即在任何位置、任何方向上强度一样,记为Ia•环境光反射系数Ka:在分布均匀的环境光照射下,不同物体表面所呈现的亮度未必相同,因为它们的环境光反射系数不同。•光照明方程(仅含环境光):Ie=Ka·IaIe为物体表面所呈现的亮度。简单光照明模型-环境光例子•具有不同环境光反射系数的两个球0.1aI4.0aK8.0aK简单光照明模型-环境光•缺点:虽然不同的物体具有不同的亮度,但是同一物体的表面的亮度是一个恒定的值,没有明暗的自然过渡。•点光源:几何形状为一个点,位于空间中的某个位置,向周围所有的方向上辐射等强度的光。记其亮度为Ip•点光源的照射:在物体的不同部分其亮度也不同,亮度的大小依赖于物体的朝向及它与点光源之间的距离.2、简单光照明模型--点光源3、简单光照明模型--漫反射•漫反射–粗糙、无光泽物体(如粉笔)表面对光的反射–光照明方程漫反射的亮度点光源的亮度漫反射系数入射角漫反射光的强度只与入射角有关]2,0[cosdpdKIIpIdKdI简单光照明模型-漫反射•将环境光与漫反射结合起来一般取ka=(0.02~0.2)kd•例子)(NLKIKIIIIdpaade简单光照明模型-漫反射缺点:对于许多物体,使用上式计算其反射光是可行的,但对于大多数的物体,如擦亮的金属、光滑的塑料等是不适用的,原因是这些物体还会产生镜面发射。4、简单光照明模型--镜面反射•镜面反射–光滑物体(如金属或塑料)表面对光的反射•高光–入射光在光滑物体表面形成的特别亮的区域简单光照明模型-镜面反射•理想镜面反射•观察者只能在反射方向上才能看到反射光,偏离了该方向则看不到任何光。简单光照明模型-镜面反射•非理想镜面反射•P为物体表面上一点,L为从P指向光源的单位矢量,N为单位法矢量,R为反射单位矢量,V为从P指向视点的单位矢量光滑平面I=Ip•Kscosna镜面简单光照明模型-镜面反射•镜面反射•Is为镜面反射光强。点光源的亮度–Ks是与物体有关的镜面反射系数。n为镜面反射指数,n越大,则Is随a的增大衰减的越快。–n的取值与表面粗糙程度有关。–n越大,表面越平滑(散射现象少,稍一偏离,明暗亮度急剧下降)–n越小,表面越毛糙(散射现象严重)anspsKIIcosnspsRVKII)(或pI简单光照明模型-镜面反射–反射方向计算–L在N上的投影矢量为Ncosθ,则S+L=Ncosθ记矢量S=Ncosθ-L则有R=Ncosθ+SLLNNLNR2cos2NRLVSS5、简单光照明模型--Phong光照明模型•简单光照明模型模拟物体表面对光的反射作用,光源为点光源•反射作用分为–物体间作用环境光(AmbientLight)–漫反射(DiffuseReflection)–镜面反射(SpecularReflection)Phong光照明模型的综合表述:由物体表面上一点P反射到视点的光强I为环境光的反射光强Ie、理想漫反射光强Id和镜面反射光Is的总和。])()([nsdpaasdeRVKNLKIKIIIII5、简单光照明模型--Phong光照明模型Phong光照明模型的实现对物体表面上的每个点P,均需计算光线的反射方向。为了减少计算量,假设:–光源在无穷远处,L为常向量–视点在无穷远处,V为常向量–(H•N)近似(R•V),H为L与V的平分向量NHLRaVbH----L和V的角平分线对每个点总共只需计算一次H值,节省了计算时间简单光照明模型-Phong光照明模型•Phong模型几何PLNHRV6、简单光照明模型--光的衰减光的衰减两个阶段:1)从光源到物体表面过程中的衰减2)从物体表面到人眼过程中的衰减总的效果:物体表面的亮度降低光照明方程1)有效衰减函数的加入2)深度暗示技术的加入1)光从光源到物体表面的衰减在光源到物体表面过程中光强按1/d2进行衰减。缺点:当d很大时,变化很小;当d很小时,变化很大。•衰减函数•光照明方程)1,1min()(2210dcdccdf])()([)(nsdpaaRVKNLKIdfKII2)光在物体表面到人眼过程中的衰减•深度暗示(DepthCueing)技术:最初用于线框图形的显示,使距离远的点比近的点暗一些。经过改进,这种技术同样适用于真实感图形显示。•设前参考面Z=Zf,后参考面Z=Zb;其比例因子分别为Sf和Sb(Sf和Sbe[0,1])。给定物体上一点的深度值Z0,该点对应的比例因子S0按如下方式确定前参考面后参考面•当Z0Zf时,取S0=Sf•当Z0Zf时,取S0=Sb•当Z0€[Zb,Zf]时,取•原亮度I按比例S0与融和亮度Idc混合,目的是获得最终用于显示的亮度I’,Idc由用户指定,)(00bbfbfbZZZZSSSSdcISISI)1(002)光在物体表面到人眼过程中的衰减特例:取Sf=1,Sb=0,Idc=0•当物体位于前参考面之前时,S0=Sf=1,I’=I,即亮度没有被衰减。•当物体位于后参考面之后时,S0=Sb=0,I’=Idc=0,即亮度衰减为0。•当Z0€[Zb,Zf]时,I’=S0I,亮度被部分衰减。由此可以产生较好的效果。dcISISI)1(002)光在物体表面到人眼过程中的衰减7、简单光照明模型--彩色场景的产生•产生彩色–选择合适的颜色模型----RGB模型–为颜色模型中的每一种基色建立光照明方程])()([)(])()([)(])()([)(nsBdBpBaBaBBnsGdGpGaGaGGnsRdRpRaRaRRRVKNLKIdfKIIRVKNLKIdfKIIRVKNLKIdfKII简单光照明模型-彩色场景的产生–系数分解•上述各等式中,右端的矢量用来控制表面的基本颜色,当选定了物体表面的颜色之后,它们就固定不变了。用户通过调节Ka,Kd,Ks来改变表面的反射率。dBdGdRaaBaGaRCCCKKKKdBdGdRddBdGdRCCCKKKKsBsGsRssBsGsRCCCKKKK简单光照明模型-彩色场景的产生–新的光照明方程–统一表示])()([)(])()([)(])()([)(nsBsdBdpBaBdBaBnsGsdGdpGaGdGaGnsRsdRdpRaRdRaRRVCKNLCKIdfICKIRVCKNLCKIdfICKIRVCKNLCKIdfICKI])()([)(nssddpadaRVCKNLCKIdfICKIBGR,,•采用多个光源–采用m个光源的光照明方程minissiddpiadaRVCKNLCKIdfICKIi1])()([)(简单光照明模型-多个光源–例子:其中a图:线框图b图:环境光c图:增加漫反射d图:增加镜面反射e图:增加光的衰减f图:两个点光源Phong光照明模型的不足•Phong光照明模型是真实感图形学中提出的第一个有影响的光照明模型•经验模型,Phong模型存在不足:–显示出的物体象塑料,无质感变化–没有考虑物体间相互反射光–镜面反射颜色与材质无关–镜面反射大入射角失真现象11.2多边形着色方法•缺点:产生的图形效果不好。相邻两个多边形的法向不同,计算出来的颜色也不同,因此造成整个物体表面的颜色过渡不光滑。•如何解决?光滑着色,亦称插值着色1、Gouraud着色方法2、Phong着色方法1、Gouraud着色方法•基本思想:在每个多边形顶点处计算颜色,然后在各个多边形内部进行线性插值,得到多边形内部各点颜色。即它是一种颜色插值着色方法。注意:Gouraud着色方法并不是孤立的处理单个多边形,而是将构成一个物体表面的所有多边形(多边形网格)作为一个整体来处理。•对多边形网格中的每一个多边形,Gourand着色处理分为如下四个步骤:1、计算多边形的单位法矢量2、计算多边形顶点的单位法矢量3、利用光照明方程计算顶点光强(颜色)4、对多边形顶点光强(颜色)进行双线性插值,获得多边形内部各点的光强(颜色)与某个顶点相邻的所有多边形的法向平均值近似作为该顶点的近似法向量计算出的平均法向一般与该多边形物体近似曲面的切平面比较接近。多边形顶点单位法向计算niniivNiNN11双线性光强插值假设待绘制的三角形投影为P1P2P3,Pi的坐标为(xi,yi),i=1,2,3;一条扫描线与三角形的两条边分别交于A(xA,yA),B(xB,yB)两点。P(x,y)是AB上的一点。A点的颜色IA由P1、P2点的颜色I1、I2线性插值得到。B点的颜色IB由P1、P3点的颜色I1、I3线性插值得到。P点的颜色IP由A、B点的颜色PA、PB线性插值得到。BABAAABBPBBBAAAIxxxxIxxxxIIyyyyIyyyyIIyyyyIyyyyI33111313221112122、Phong着色方法基本思想:通过对多边形顶点的法矢量进行插值,获得其内部各点的法矢量,又称为法向插值着色方法。步骤:1、计算多边形单位法矢量2、计算多边形顶点单位法矢量3、对多边形顶点法矢量进行双线性插值,获得内部各点的法矢量4、利用光照明方程计算多边形内部各点颜色•法向插值NA由N1、N2线性插值得到:BABAAABBPBBBAAANxxxxNxxxxNNyyyyNyyyyNNyyyyNyyyyN3311131322111212Phong着色方法优点:Phong着色方法绘制的图形比Gouraud方法更真实,体现在两个方面:高光区域的扩散,产生正确的高光区域缺点:1、Phong着色方法计算量远大于Gouraud着色方法2、