OPENGL 里 环境光 反射光 高光模型

转自:http://cg.sjtu.edu.cn/lecture_site/chap9/mainframe931.htm

9.3.1 环境光

  • 环境光(ambient light)

    • 是邻近各物体所产生的光的多次反射最终达到平衡时的一种光,环境光是指光源间接对物体的影响。

 

  • 例如, 
    透过厚厚云层的阳光就可以称为环境光, 
    室内环境光即为墙壁、天花板、地板及室内各物体之间光的多次反射结果。

     

  • 可近似地认为其光强分布是均匀的,抽象为单一的强度值,它在任何一个方向上的分布都相同,统一地影响场景中所有物体的所有表面。 
    如果用Ia来表示环境光强度(简称光强),由于不同的物体对环境光有不同的反射属性,记为Ka(0<Ka<1)。这时,物体上某点的光强可以表示为

    • Iambient=Ia Ka

 

    • 一个可见物体在只有环境光的照射下其各点的明暗程度均一样,并让没有受到光源直接照射的地方也有明亮度,区分不出哪处明亮,哪处暗淡。因此,只有环境光是不能产生真实感图形的。 


      9.3.2 漫反射和Lambert模型

      • 漫反射
        • 环境光是对光照现像的最简单抽象,因而局限性很大。它仅能描述光线在空间中无方向并均匀散布时的状态。很多情况下,入射光是带有方向的,比如典型的阳光。
          如果光照射到比较粗糙的物体表面,如粉笔,由于这些表面从各个方向等强度地反射光,因而从各个视角出发,物体表面呈现相同的亮度,所看到的物体表面某点的明暗程度不随观测者的位置变化的,这种等同地向各个方向散射的现象称为光的漫反射(diffuse reflection)
          简单光照模型模拟物体表面对光的反射作用。光源被假定为点光源,其几何形状为一个点,向周围所有方向上辐射等强度的光,在物体表面产生反射作用。
           
        • 图例

       

       

       

      • Lambert反射
        • 漫反射光的强度近似地服从于Lambert定律,即漫反射光的光强仅与入射光的方向和反射点处表面法向夹角的余弦成正比。
           
        • 由此可以构造出Lambert漫反射模型:
          Idiffuse =Id Kd cosθ
          Idiffuse表示物体表面某点的漫反射光强
          Id为点光源,Kd(0<Kd<1)表示物体表面该点对漫反射光的反射属性
           
        • θ是入射光线的方向与物体表面该点处法线N的夹角,或称为入射角(0≤θ≤90°)
          入射角为零时,说明光线垂直于物体表面,漫反射光强最大;
          90°时光线与物体表面平行,物体接收不到任何光线。
           
        • 图例

           

        • 把环境光模型添加进来,最后,Lambert光照模型可写为:
          I= IaKa + Id Kdcosθ= IaKa + Id Kd(L·N)
          该模型包含环境光和漫反射光

       

       

       

        • 彩色光
          • 漫反射的颜色可由入射光的颜色和物体表面的颜色共同设定。
            例如,在RGB颜色模型下,物体的漫反射系数Kd的三元组(KdR KdG KdB )分别代表RGB三原色的漫反射系数,它们设定物体颜色,同样,照射光I的三元组为(IdR IdG IdB ),通过这些分量的调整得到不同的彩色光照效果:
            IR= IaRKaR + fatt IdR KdR(L·N)
            IG= IaGKaG + fatt IdGKdG(L·N)
            IB= IaBKaB + fatt IdBKdB(L·N) 
      9.3.3 镜面反射和Phong模型

       

      • 镜面反射
         

        • Lambert模型较好地表现了粗糙表面上的光照现象,如石灰粉刷的墙壁、纸张等
          但在用于诸如金属材质制成的物体时,则会显得呆板,表现不出光泽,主要原因是该模型没有考虑这些表面的镜面反射效果。

          如果光照射到相当光滑的表面,就产生镜面反射(specular reflection),镜面反射的特点是在光滑表面会产生一块称之为高光(high light)的特亮区域 。
           

        • 镜面反射遵循光的反射定律:

          反射光与入射光位于表面法向两侧,对理想反射面(如镜面),入射角等于反射角,观察者只能在表面法向的反射方向一侧才能看到反射光。

       

      • Phong模型 
         

        • 对于非理想反射面,如苹果、塑料球等的表面,由于镜面反射光复杂的物理性质,常采用Phong提出的一个经验模型,认为镜面反射的强度与反射光线和视线的夹角α相关:

          Ispec = IsKscosns α(α∈(0,90º)) 
          Ks为物体表面某点的高亮光系数
          ns为物体表面的镜面反射指数,反映了物体表面的光泽程度, ns越大,表示物体越接近于镜面。
          只有视线与光源在物体表面的反射光线非常接近时才能看到镜面反射光,此时,镜面反射光将会在反射方向附近形成很亮的光斑,称为
          高光现象。ns越小,表示物体越粗糙;当ns为零时,镜面反射光便退化为与视点、光源均无关的环境光。 
           

        • 将镜面反射光与环境光、漫反射光叠加起来形成单一光源照射下更为真实的Phong光照模型:

          I = Ia Ka+IdKdcosθ+IsKscosns α 
          θ :入射角
          α :视线与镜面反射方向的夹角
           

posted on 2014-07-25 16:01  各各他  阅读(805)  评论(0)    收藏  举报

导航