论文部分内容阅读
在现实中,人体皮肤结构复杂,当光线照射到皮肤表面时,皮肤会与光线产生非常复杂的交互效果。光线在皮肤表面的行为包括高光反射、漫反射、折射、透射和次表面散射(Subsurface Scattering,SSS)等,完全模拟光线在人体皮肤中的真实传输过程通常需要极大的计算量。在接近真实模拟的电影特效等领域,一般采用基于离线的渲染方法实现皮肤渲染。目前,随着计算机图形显示卡的出现,游戏领域对渲染场景中人物的真实感要求越来越高。如何在尽可能保持人体皮肤渲染真实的情况下,减少计算开销和内存占用,是图形学研究的重要方向之一。本文在研究已有人体皮肤渲染成果的基础之上,根据皮肤的几何结构、材质特征和光照效果,提出了一个完整的基于多种光照效果的人体皮肤真实感实时渲染光照模型,该模型能够在保证皮肤真实渲染的基础上,达到实时渲染。本文提出的完整光照渲染模型主要实现对环境光、镜面反射、次表面散射和透射等多个光照效果叠加的真实感模拟。对于次表面散射部分,本文拓展了预积分皮肤着色算法(Pre-Integrated Skin Shading),提出使用自调节预积分皮肤着色算法实现次表面散射的光照计算,使得表面的次表面散射效果更加真实合理。皮肤表面的镜面反射部分采用基于物理的KS(Kelemen/SzirmayKalos)反射模型,并使用预计算的贝克曼分布函数(Beckmann distribution function)求解微平面法向量分布函数。为了提高渲染效率,本文采用查找表的方法,将次表面散射的预积分查找表和预计算贝克曼分布函数查找表的数据存储于同一张纹理中,减少内存占用,加快渲染计算。在表现人体皮肤的逆光透射现象时,本文提出使用预计算透射模型,同样使用查找表的方法,存储预计算透射结果于纹理中,提高皮肤渲染的真实效果和渲染速率。本文基于多种光照效果的人体皮肤真实感实时渲染光照模型在Open GL的GPU可编程渲染管线上实现。通过实验结果对比分析,验证了本文提出的光照模型在较低的硬件配置环境下,对多个人脸模型的渲染能够达到较好的渲染效果和较高的渲染效率。结果表明,本文提出的基于多种光照效果的人体皮肤真实感实时渲染光照模型具有可行性和实时性。