Lambert (兰伯特)光照模型

漫反射的定义

漫反射是投射在粗糙表面上的光向各个方向反射的现象。当一束平行的入射光线射到粗糙的表面时,表面会把光线向着四面八方反射,所以入射线虽然互相平行,由于各点的法线方向不一致,造成反射光线向不同的方向无规则地反射,这种反射称之为“漫反射”或“漫射”。这种反射的光称为漫射光。

Lambert定律

漫反射光的强度近似地服从于Lambert定律,即漫反射光的光强与表面法线和光源方向之间的夹角的余弦成正比。
Lambert (兰伯特)光照模型_第1张图片

原理公式:diffuse = I*cosθ;

diffuse:反射光线的的光强;

I:入射光线的光强,方向如上图所示;

cosθ:光源方向和该顶点法线的余弦,法线方向 · 光源方向,cosθ = dot(L,N);

在Unity中当颜色值小0时会按0处理,所以我们最后的数学表达式为:diffuse = I*max(0,dot(N,L));

在Unity Shader

Shader "My/03_1 shader"{
       Properties{
        _Diffuse("Diffuse",Color) = (1,1,1,1)
        
        }
        SubShader{
            Pass{
                CGPROGRAM
   

你可能感兴趣的:(Unity,Shader快速入门,unity,Shader,漫反射)