上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
第6章 可定制的快速自动化全局光照和可见性烘焙器
6.1 光照烘焙简介
在游戏实时渲染中,全局光照和可见性是不可或缺的组成部分,但是由于实时计算全局光照和可见性需要消耗大量的计算资源,因此在移动端游戏领域中基本采用的都是预先烘焙的方案。Unity现有的烘焙方案在计算时间、可定制性上都有较大的不足。本章研究提供了一个可定制的快速烘焙方案,底层提供基于Voxel(体素)的快速构建和光线追踪,上层根据需求提供若干烘焙实现。该方案的优点表现在以下4个方面:一是基于Compute Shader的GPU-Driven系统,对硬件几乎没有要求,不需要修改引擎,可快速移植到不同项目;二是底层和上层的算法、数据都易于扩展和优化,可快速迭代满足不同项目的需求;三是该方案几乎是全自动的,能根据场景自动计算采样点的分布取得最佳的烘焙结果,不需要美术师手动进行Probe等的摆放;四是该方案和业界的基于三角形追踪的烘焙器方案相比具有烘焙速度更快的优势,而这对于游戏美术制作的快速迭代具有至关重要的作用,如《王者荣耀》的对战地图可以在几秒之内预览烘焙效果,大大提升了项目美术迭代的效率。
本章首先描述如何进行快速Voxelization(体素化),如何基于Voxel进行快速的光线追踪,然后阐述如何使用Voxel光线追踪高效计算Volume Lightmap(体积光照贴图),接着详细描述如何计算Visibility(可见性),以及给出Visibility在渲染中的几个应用,最后给出可能的优化方向。