标准光照模型

环境光:

    c_{ambient}  = g_{ambient}

    Unity中的内置变量UNITY_LIGHTMODEL_AMBIENT获取环境光

自发光:

    c_{emissive}  = m_{emissive}

漫反射:

    漫反射关照符合兰伯特定律,反射光线强度与表面法线和光源方向之间夹角的余弦成正比。

    c_{diffuse} = (c_{light} \cdot m_{diffuse})max(0,\hat{n}  \cdot \hat{l})

    saturate(x)把x截取在[0,1]范围内

高光反射:

    Phong模型:

    通过入射角与法线计算反射方向:

    \hat{r} =2(\hat{n} \cdot \hat{l} )\hat{n} - \hat{l}

    reflect(i,n)计算反射方向。

    c_{specular} =(c_{light} \cdot m_{specular} )max(0,\hat{v} \cdot \hat{r} )^m_{gloss}

    Blinn模型:

    引入新的矢量\hat{h} ,避免计算\hat{r} ,通过对\hat{v} \hat{l} 的取平均后再归一化得到。即:

    \hat{h}  = \frac{\hat{v} + \hat{l} }{\vert \hat{v} + \hat{l}  \vert }

    c_{specular} =(c_{light} \cdot m_{specular} )max(0,\hat{n} \cdot \hat{h} )^m_{gloss}


单位向量和光源方向点乘理解为在光在某个方向的衰减。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 标准光照模型 基础概念 光源 光源 在实时渲染中我们通常把光源当做一个没有体积的点,用 l 来表示它的方向 辐照度...
    BacteriumFox阅读 1,271评论 0 0
  • 光源 我们可以使用光源方向L和表面法线n 之间的夹角的余弦值来得到。需要注意的是,这里默认方向矢量的模都为1 。图...
    李偌闲阅读 1,036评论 0 0
  • 模拟正式光照环境生成图像时所需了解的相关概念 模拟真实光照环境生成图像的过程主要分为如下3个步骤 光源发射光线 光...
    全新的饭阅读 2,359评论 0 0
  • 光照模型可分为测量模型、经验模型和基于物理的分析模型,下面介绍的模型都属于经验模型。 经典光照模型 环境光 理想环...
    温素年阅读 629评论 0 0
  • 一. 我们如何看见事物 我们在描述一个物体外貌时时常会说 “这物体是什么什么颜色的”,而在中学时,我们学的物理知识...
    忆中异阅读 2,604评论 0 2