论文部分内容阅读
实时渲染是将虚拟场景以比较高的帧数渲染成图像的一种技术,其中像素颜色来源于三维物体表面材质与光照交互产生的结果。图像的产生与显示的一个周期称为一帧,为了让人眼产生连贯的动画,一般实时渲染帧数需要稳定在30帧/秒以上。在保证实时性的前提下,尽可能的提高渲染质量和真实感一直是计算机图形学、图像处理等领域的主要研究目标。而随着虚现实(VR)等沉浸式实时渲染技术的兴起,实时渲染的图像需要贴近照片及符合真实世界的规律。这样的需求下,基于物理法则推导出的渲染模型渐渐的代替传统的经验模型成为主流。设计与实现参考了当前最流行的游戏引擎Unreal Engine4与Unity5的物理渲染部分,主要从三个方面展开工作:光照算法、材质系统与渲染框架。光照算法选用经过优化GGX算法实现高光,规格化的Lambert算法实现漫反射光,并在这两种算法的基础上,通过球面积分预计算环境光照,不失效率的基础上,得到了高质量的渲染结果。而材质结构参考disney的基于物理的材质系统实现了一套改进的材质系统,忽略影响微小的参数,提高空间和运行效率。渲染框架的渲染流程部分混合前向和延迟渲染两种流程,既支持大量非透明物体和光源的渲染,也对透明与半透明物体提供了支持,场景管理则采用八叉树、软渲染、视椎剔除三者结合的管理算法,确保绘制效率达到高度优化的水平。系统最终呈现了比一般经验模型更加真实的效果。使用GGX的高光模型使得高光效果符合人眼在实际生活中的观察结果,高光更集中且高光边缘更大。漫反射明暗变化符合真实光照的突变过渡情况。使用物理的参数和渲染公式渲染出的常见材质如金属质、木质和塑料等接近照片级的水平。