zoukankan      html  css  js  c++  java
  • 基本光照模型

    真实感图形学研究的先驱们把真实世界中的光照效果抽象为三种独立的光照效果的叠加,1为环境光,2为漫反射光,3为镜面反射光。

    1.环境光

    在白天,屋里里任何一个不完全封闭的角落都不会是完全黑暗的。太阳光经过无数物体的反射已经能够充斥到任何一个它能够进入到角落。我们把这种经过经过无数次反射而弥漫开来的光成为环境光。环境光没有方向的概念,或者说任何方向都存在着环境光。关于环境光还有个事实,1某个可以独立分析的局部场合的环境光强和能够进入这个地方的光的强度有关。比如:屋子里的环境光强大体是相同的,带缝隙的柜子里的环境光强也是大体相同的,柜子里的环境光强要比屋子里的弱。

     

    Ka是一个三维向量,成员的范围是0至1。代表了某个位置对于全局环境光的各个分量的衰减比率。

    2.漫反射光

    漫反射光强决定于物体表面朝向与光线的方向。比如公路地面,在正午时,太阳光垂直向下的照射,我们看到地面也很刺眼;到了下午,太阳倾斜下了一些角度后,阳光斜向的照射路面,路面的亮度会降低一些。同时由于路面粗糙的性质,我们发现从任意一个角度观察路面,亮度都是差不多。

     

    L:从物体某一点指向光源的单位向量

    N:物体表面的单位法向量

    Kd:物体对于反射光线的衰减系数

    由于L,N都是单位向量dot(L,N)即是L与N的夹角的余弦值。

    3镜面反射光

    镜子、金属等表面光亮的物体会有镜面反射光。镜面反射光同时与物体表面朝向、光线方向、视点位置有关。如图所示:

     

    I是入射光,N是表面法线,R是反射光线,V是从物体上的目标观察点指向视点的向量,a是V和R的夹角。

    我们可以判断出一个规律,夹角a越小,即视线与反射方向的偏离越小,则目标点的光强越大。Phong Bui Tuong 提出一个计算镜面反射光强的经验模型,称为 phong模型,公式为:

     

    Ks为物体对于反射光线的衰减系数

    Shininess为高光指数

    高光指数反映了物体表面的光泽程度。Shininess越大,反射光越集中,当偏离反射方向时,光线衰减的越厉害,只有当视线方向与反射光线方向非常接近时才能看到镜面反射的高光现象,此时,镜面反射光将会在反射方向附近形成亮且小的光斑;Shininess 越小,表示物体越粗糙,反射光分散,观察到的光斑区域小,强度弱。

    综上:

     examples:

     只有环境光

     

     只有漫反射光

     

    只有镜面反射光

    三种光的合成

  • 相关阅读:
    非常奇怪的VS2005无法调试的问题
    自已写的“动易PowerEasy2006暴库工具”
    用VBA去除Excel工作表保护密码
    mapgis同arcmap之间的数据转换, 投影变换,误差校正,坐标,基础资料,教程的相关信息的汇集
    HDU You Are the One (dp)
    HDU4291 A Short problem
    Mondriaan's Dream(poj2411)
    HDU 4277 USACO ORZ
    求欧拉回路的路径(usaco3.3Riding the Fences)
    poj2923 (状态压缩01背包)
  • 原文地址:https://www.cnblogs.com/bluebean/p/5298110.html
Copyright © 2011-2022 走看看