Kajiya-Kay毛发渲染模型
基于刚才说的strand-based model,这里我们就要引出一个这些年来游戏中用到的较多的毛发渲染模型:Kajiya-Kay模型[4]。计算公式如下:
整个Kajiya-Kay模型首先利用了类似我们在各向异性光照的原理解释时提到的积分公式,3d vray渲染器,然后在BRDF项上,diffuse和specular分别代入了Lambert模型和Phong模型,3dmax夜景渲染,进一步简化得到了上述结果。在实际实现头发渲染时,3d 渲染管线,我们一般是使用ATI的这个slides[5]提出来的公式:
具体的实现在slides里面有详细的描述,这里只简单总结一下它相较于原始模型的改进:
(1)把diffuse改成了我们在之前的卡通渲染中提到的wrapped diffuse,这是因为传统的Kajiya-Kay的diffuse项太亮,没有考虑毛发的自阴影(也就是没有考虑我们一开始说到的)。
(2)头发的高光项改写成了两层高光,其中一层高光是有颜色的,另外一层高光是没有颜色的,且两层高光的相互错开一点点,这个双层高光的设定是基于实际的观察前端的2D和3D设计组可以通过千兆网络连接到分发管理服务器上提交渲染任务,由部署在渲染集群的渲染分发管理软件进行任务分发和管理。所有的渲染结果将保存在磁盘阵列上,前端设计制作组可以通过千兆网直接访问文件服务器中的数据。
运用了“集成原理”,系统中每个客户端会将制作好的三维场景文件提交给集群渲染的服务器,由集群渲染服务器将任务发配给系统中任意一个节点,渲染完成后每个节点再将结果返回渲染服务器,最后由渲染服务器把视频信号输出到视频设备(如Beta Cam、DVD制作设备和打印机)或者三维/视频工作站。