3D渲染-光线追踪-渲染方程

一、直接光源的渲染方程

1、一个点光源

假设有一个点光源,看x点有多强的能量,自然就是反射过来的能量。即入射光经过BRDF,反射到观看方向上的能量。


1630920017814-8268f218-8664-464b-b3d4-325483f55eab.png

2、多个点光源

把每一个点光源照亮点x,然后反射到我的观测方向上的能量累加。


1630920449011-ef95fdf2-2176-4700-a992-975cfccd8c4b.png

3、面光源

把面光源全部点的贡献做积分。


1630926545291-a3b98606-a961-4cab-8f6d-6360c6cd295a.png

二、渲染方程

照亮x点的Radiance,不只是直接光源的Radiance,还有可能是其他物体反射的Radiance。那就需要考虑,光源反射出去的物体正好照亮光源的Radiance。其实就把反射面或反射物体当成光源。这样就出现递归。

1630929007476-173dd1a1-e6a4-4d52-9836-c278535367c2.png

我们将递归的渲染方程,进行简化。如下图:
1630930073493-8fc9d49e-5109-4a28-9e8b-6e8ac78d11ba.png

将公式进行转化。如下图:
推理出光栅化和全局光照的区别。


1630931122898-0c6c040b-33cd-4994-b06b-db52f5af2fd2.png

三、可视化

经过无数次的弹射,最后全局光照一定会收敛到某一亮度。(能量守恒)


1630932050644-5ce1ac9a-f82e-49e5-a0ea-eeecaa92cca0.png

1630932058959-ffe6e4d4-db67-4624-9db3-cc1287090258.png

1630932067132-b190fab5-175e-4595-be73-c39a8955aeb3.png

1630932079728-e3a55d77-a2b4-44d2-a905-1e3b7d7f6c24.png

1630932087981-59234dab-2797-4df4-b9c1-c4a38450fa42.png

你可能感兴趣的:(3D渲染-光线追踪-渲染方程)