Tekkaman

导航

 

RimLight(轮廓光) - Shader

  RimLight指的是物体的轮廓光。效果如下:

  

  轮廓光的强度通过 1.0 - dot(normal, eye_vector)来计算。使用这个公式,则指向camera的轮廓光强度会是0,垂直到camera的轮廓光强度是1,而背离的强度会是2。GLSL实现如下:

  

  smoothstep(a,b,x)函数将a-b范围的x值投射到0-1区间上。为了让轮廓光只在边缘出现,我们需要只显示vdn 0.6以上的值,如仅仅把0.6以下部分抛弃,则会产生Hard Edige。

      使用smoothstep函数,把0.6-1.0平滑插值成0-1即可产生平滑的轮廓光。

  

  效果如下:

  

Reference:

1、http://www.roxlu.com/2014/037/opengl-rim-shader

posted on 2014-09-20 16:51  Tekkaman  阅读(2376)  评论(0编辑  收藏  举报