您的位置:首页 > 移动开发 > Unity3D

Unity 3D - 光照计算中的diffuse的计算公式

2016-09-02 16:21 309 查看

Unity 3D - 光照计算中的diffuse的计算公式 :

实际光照强度 I= 环境光(Iambient) + 漫反射光(Idiffuse) + 镜面高光(Ispecular);

环境光:Iambient= Aintensity* Acolor; (Aintensity表示环境光强度,Acolor表示环境光颜色)

漫反射光:Idiffuse = Dintensity* Dcolor * N.L;

(Dintensity表示漫反射强度,Dcolor表示漫反射光颜色,N为该点的法向量,L为光源向量)

镜面反射光:Ispecular = Sintensity * Scolor * (R.V)^n;

(Sintensity表示镜面光照强度,Scolor表示镜面光颜色,R为光的反射向量,V为观察者向量,n称为镜面光指数)

diffuse = Kd * colorLight * max(N * L, 0);


Kd 漫反射系数 .

colorLight 光的颜色 .

N 单位法线向量 .

L 由点指向光源的单位向量 .

其中N与L点乘,如果结果小于等于0,则漫反射为0 .
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: