我们来看一下渲染前后的对比:渲染前(拍摄时)
渲染后(后期制作)
渲染后我们就可以看到预期的效果,那么我们来看看制作这些效果都有用到什么工具(设备)。
渲染设备架构图:
典型的集群渲染主要包括如下几个部分:
渲染节点:渲染集群的主要组成部分,用来实际完成渲染工作;可以使用服务器、工作站或者台式机等各种高性能的计算机。
渲染节点软件系统:渲染节点上需要安装的主要软件包括操作系统(64位Windows或者Linux操作系统),渲染软件(3dsMax、Maya、MentalRay、Vray等),渲染集群管理软件(例如集群管理软件节点端)。
调度节点:渲染集群的管理机器,用来完成任务分发等任务;需要专门的服务器,以提供稳定的服务。
调度节点软件系统:需要安装的主要软件包括操作系统(Windows服务器版或者Linux)、渲染集群管理软件(例如集群管理软件服务器程序)等。
文件服务器:包括前台的文件服务器以及后台的磁盘阵列,存储集群等;需要使用**的存储系统及存储服务器,以确保整体渲染集群的性能。
交换机、网络设备及其他设备,用来串联渲染节点及各个服务器,渲染,提供集群渲染能力;
Kajiya-Kay毛发渲染模型
基于刚才说的strand-based model,这里我们就要引出一个这些年来游戏中用到的较多的毛发渲染模型:Kajiya-Kay模型[4]。计算公式如下:
整个Kajiya-Kay模型首先利用了类似我们在各向异性光照的原理解释时提到的积分公式,然后在BRDF项上,diffuse和specular分别代入了Lambert模型和Phong模型,2d动漫渲染,进一步简化得到了上述结果。在实际实现头发渲染时,3d渲染,我们一般是使用ATI的这个slides[5]提出来的公式:
具体的实现在slides里面有详细的描述,这里只简单总结一下它相较于原始模型的改进:
(1)把diffuse改成了我们在之前的卡通渲染中提到的wrapped diffuse,2d动画渲染,这是因为传统的Kajiya-Kay的diffuse项太亮,没有考虑毛发的自阴影(也就是没有考虑我们一开始说到的)。
(2)头发的高光项改写成了两层高光,其中一层高光是有颜色的,另外一层高光是没有颜色的,且两层高光的相互错开一点点,这个双层高光的设定是基于实际的观察