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

    光照模型(illumination model),也称为明暗模型,用于计算物体某点处的 光强(颜色值)。从算法理论基础而言,光照模型分为两类:一种是基于物理理 论的,另一种是基于经验模型的。基于物理理论的光照模型,偏重于使用物理的 度量和统计方法,比较典型的有ward BRDF模型,其中的不少参数是需要仪器测 量的,使用这种光照模型的好处是“效果非常真实”,但是“计算复杂,实现起来 也较为困难”;经验模型更加偏重于使用特定的概率公式,使之与一组表面类型 相匹配,所以经验模型大都比较简洁,效果偏向理想化。从使用角度而言,光照模型分为局部光照模型和全局光照模型。所谓局部光 照模型,是将光照的种类进行分解,在计算时只考虑其中的一种;而全局光照模 型则是考虑到所有的光照种类。
    当光照射到物体表面时,一部分被物体表面吸收,另一部分被反射,对于透 明物体而言,还有一部分光穿过透明体,产生透射光。被物体吸收的光能转化为 热量,只有反射光和透射光能够进入眼睛,产生视觉效果。通过反射和透射产生 的光波(光具有波粒二相性)决定了物体呈现的亮度和颜色,即反射和投射光的 强度决定了物体表面的亮度,而它们含有的不同波长光的比例决定了物体表面的 色彩。 所以,物体表面光照颜色由入射光、物体材质,以及材质和光的交互规律共同决定。
    环境光(Ambient Light):从物体表面所产生的反射光的统一照明,称为环境光 或背景光。例如房间里面并没有受到灯光或者太 阳光的直接照射,而是由墙壁、天花板、地板及室内各物体之间光的多次反射进 行自然照明。通常我们认为理想的环境光具有如下特性:没有空间或方向性;在 所有方向上和所有物体表面上投射的环境光强度是统一的恒定值。 由于环境光给予物体各个点的光照强度相同,且没有方向之分,所以在只有 环境光的情况下,同一物体各点的明暗程度均一样,因此,只有环境光是不能产 生具有真实感的图形效果。
    粗糙的物体表面向各个方向等强度地反射光,这种等同地向各个方向散射的 现象称为光的漫反射(diffuse reflection)。产生光的漫反射现象的物体表面称为 理想漫反射体,也称为朗伯(Lambert)反射体。Lambert 漫反射模型:

     I 是点光源强度, θ 是入射光方向与顶点法线的夹角,称为入射 (0≤θ ≤90°), ldiff I 是漫反射体与方向光交互反射的光强。入射角为零时,说 明光线垂直于物体表面,漫反射光强最大;90°时光线与物体表面平行,物体接 收不到任何光线。 若 N 为顶点单位法向量,L 表示从顶点指向光源的单位向量(注意,是由顶 点指向光源,不要弄反了),则cosθ 等价于 N 与 L 的点积。所以公式(9-2)可以 表示为公式(9-3):


    综合考虑环境光和方向来,Lambert 光照模型可写为:

     

    一直想把之前工作、学习时记录的文档整理到博客上,一方面温故而知新,一方面和大家一起学习 -程序小白
  • 相关阅读:
    LinQ Group By
    sql server 还原数据库后,删除用户,提示数据库主体在该数据库中拥有架构,无法删除解决方法
    各种网站资源
    Easyui TreeGrid数据源
    MVC中创建自定义视图的t4模板
    栈溢出练习
    Stack Canary
    攻防世界pwn之新手练习区
    开源 PetaPoco 扩展~一个小型轻巧的ORM~
    linux调度全景指南
  • 原文地址:https://www.cnblogs.com/wang-jin-fu/p/8279615.html
Copyright © 2011-2022 走看看