打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Lambertian 反射(也叫理想散射)

(总结整合几篇 blog 和一些国外图书的内容)

常见的反射类型分为:Lambertian 反射、理想镜面反射、Lambertian 反射与镜面反射相结合

1.Lambertian 反射(也叫理想散射)

Lambertian 表面是指在一个固定的照明分布下从所有的视场方向上观测都具有相同亮度的表面,Lambertian 表面不吸收任何入射光.Lambertian 反射也叫散光反射,不管照明分布如何,Lambertian 表面在所有的表面方向上接收并发散所有的入射照明,结果是每一个方向上都能看到相同数量的能量.




维基百科的解释:http://en.wikipedia.org/wiki/Lambertian

在计算机图像学中,Phong 光照模型:http://www.cnblogs.com/dosomething/archive/2011/10/20/2218369.html


SurfaceColor = Emissive + Ambient + Diffuse + Specular 

最终表面   = 放射光  + 环境光  +  漫反射 + 镜面反射

放射光:

  Emissive = Ke               

  Ke 为材质放射的颜色

环境光:

  Ambient = Ka * GlobalAmbient        

  Ka 为材质环境光反射系数;GlobalAmbient 为全局环境光的颜色

 

漫反射:

  Diffuse   = Kd * LightColor * max(dot(N, L), 0)

  Kd 为材质漫反射颜色;LightColor 为漫反射光的颜色;N 是规范化后的表面法向量;L 是规范化后指向光源的向量;

  max(x, y) 函数返回 x 和 y 的最大值;dot(x, y) 函数返回 x 向量和 y 向量的内积

 

镜面反射:

  Specular = Ks * LightColor * pow(max(dot(N, H), 0), fShinines )

  Ks 是材质镜面反射的颜色;LightColor 是镜面反射光的颜色;N 是规范化后的表面法向量;H 是规范化后的 L 和 V 的中间向量(即规范化后的 L+V),其中 V 是规范化后指向视点的向量

  pow(x, y) 函数返回 x 的 y 次方;

 

  这里 dot(N, L) 如果小于等于 0,即 Diffuse 为 0,则 Specular 为 0。确保了镜面反射的高光不会出现在背向灯光的地方

  


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Phong光照模型的简单说明
光照基础
3D效果图中透明材质的制作
OpenGL中几种光照参数GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR等的简单说明
渲染学习笔记:Vray初探
[转载]3DMAX常用材质参数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服