https://vimeo.com/93006429
做眼神光的时候经常因为眼球模型的朝向不一致但是需要比较一致的眼神光而废一些周折。其实可以偏移一下高光来随意的定位眼神光的位置。
最简单的方法就是让shading的N沿dPds/dPdt弯折:
N += s_offset*normalize(dPds) + t_offset*normalize(dPdt)
而u和v可以在GEO阶段指定,也可以动态的mapping。
这办法在hair shader中早就用来做secondary specular,很好控制。
需要注意的是,整个的着色结果看起来都偏移了,包括fresnel(vimeo视频中可见),所以需要只用这个方法来做需要的层,普通的diffuse和reflection老办法搞起。