Shader——边缘光照

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

posted @ 2020-06-06 20:24  夜里寻星  阅读(213)  评论(0编辑  收藏  举报