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

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 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值