Shader——边缘光照

Posted winsons

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shader——边缘光照相关的知识,希望对你有一定的参考价值。

要计算边缘光照,先想象一下我们在看一个物体边缘时是怎样的。
通常来说我们看到一个物体,这个物体越边缘的点的表面法线与我们的实现越接近垂直,所以可以通过这个特征来知道哪些点接近边缘,并且知道这些点接近边缘的程度。
这个可以通过求顶点的单位表面法线向量和单位视线向量的点积来求得,点积的结果越接近0,法线和实现的角度越接近垂直,所以:(m_{rim} =1 - max(0, hat{n} cdot hat{v})),其中(hat{n})是单位法线向量,(hat{v})是单位视线向量
然后再用边缘光颜色乘上这个边缘程度就可以得到这个片元的边缘光照:(rim = m_{rim} cdot c_{rim})




以上是关于Shader——边缘光照的主要内容,如果未能解决你的问题,请参考以下文章

受光照影响的边缘检测

边缘光shader

Unity3D 边缘高光Shader

Unity Shader菲涅耳反射(Fresnel)

求一个unity Shader,点击出现水波纹动画,并衰减,边缘反弹

Unity Shader编程之十四 边缘发光Shader(Rim Shader)的两种实现形态