Skip to content

Irradiance volumes

nujuxtsun edited this page Jul 14, 2019 · 4 revisions

每个irradiance volume的场景渲染没使用光照,直接使用物体本身的颜色, 所以结果稍微有些夸张

流程

  1. 加载或者预计算球谐系数.

  2. 在shader通过世界坐标获得当前球谐系数, 并计算.

实际问题

1.球谐系数可以使用Texture3D来保存, 获取数值时,可以很方便的利用线性采样来插值. 3阶需要用到3x9个float, 也就是7张float4的texture3d. 这种方法很适合均匀分布的irradiance volumes.

2.我直接使用cubemap来计算球谐系数, 因为本来就是为了表现低频光照效果, 所以直接使用32x32x32的cubemap保存环境渲染结果,这样计算起来也快.

参考

Irradiance Volumes for Games

Clone this wiki locally