版本号为0.0015 第二个放出版本
算法描述如下:
首先我们使用三张1024X1024浮点贴图来保存每个patch的
Texture1: 辐射度,待辐射能量,ID,待辐射能量*面积
Texture2: 坐标,面积
Texture3: 法线,反射率
每个patch结构保存对应贴图的贴图坐标
首先初始化我们的patchs
while()
{
对于Texture1,我们对其做Down Sample操作,每次操作保存相关最大的待辐射能量*面积的像素,最终保存在一个1X1的Texture中,最后Lock上面的Texture,CPU取出该最大的patch.
判断是否继续迭代
取这个patch为摄像机位置,Render得到一张ID ShadowMap
渲染一个正方形,分别设置最早3张Texture,发射patch的参数输入到ps的常量寄存器中
对于每一个像素我们通过ID ShadowMap来得到VIS函数值,计算Fij,计算新的辐射度和待发射能量,并设置发射patch的
待发射能量=代发射能量*面积=0
}
当前这个版本没有作可视判断.只是简单的模拟3个patch的能量的传递
source:
http://bbs.gzeasy.com/index.php?act=Attach&type=post&id=155835

浙公网安备 33010602011771号