Miika Aittala[3]在摄像机前放置任意漫反射物体(如乒乓球)获得环境光照图。他采用l1正规化最小二乘法,得到一个可以使用于任何渲染方法的光源稀疏集。然后根据得到的光源条件,使用已有的实时渲染方法,例如shadow map,ambient occlusion,brdf。最后对得到的图像进行后期处理以符合真实视频应有的畸变和缺陷。
实现流程:假设b∈Rn是观察向量,表示光照的n个观察值。假设有p个光源,每个光源的亮度存储在x∈Rp中,x是光照基底。假设G∈Rn*p是从光照基底到观察光照的线性变换,即Gx=b。有光照观察值恢复场景光源参数的问题就转化为寻找一个具有特定属性的向量x,并且满足Gx=b 。具体实现过程:①设定光照基底x;②获得观察向量b;③构造变换矩阵G;④求解X;⑤光照和阴影渲染。
效果:最后的渲染结果通过opengl和glsl实现。这个方法通过考虑真实世界的光源并在渲染虚拟物体时使用,可以达到较高的帧率(15~60fps)。可以实现漫反射物体和镜面物体的渲染;但该方法不适用运动的光源。
observation
lighting basis
dictionary atom