这篇文章是基于知乎上的一篇笔记基于物理的大气渲染。
因为目前正在学习渲染有关的知识,正好看到了就实现出来。
首先声明这篇文章的重点在于加深对大气渲染方程的理解,而不是要提出一种渲染大气的好方法,代码中使用的暴力算法也是不建议用于生产环境的。
渲染方程概述
详细的渲染方程的推导请看[知乎]基于物理的大气渲染,包括其中提到的参考资料。
本文主要实现地面上看天空时,所看到的的大气散射状况,所以可以着重看《2003 Modeling Skylight and Aerial Perspective》,另外Gems2中也有有关章节,我的代码中,估算光学深度的方程就来源于Gems2的源码。
直接从最终的单次散射方程入手(注方程中其中一个PA应为PC,懒得自己写)
画出示意图如下