阅读 192

重要性采样 ggx

重要性采样 ggx

https://patapom.com/blog/Math/ImportanceSampling/

https://www.tobias-franke.eu/log/2014/03/30/notes_on_importance_sampling.html

https://www.cs.cornell.edu/~srm/publications/EGSR07-btdf.pdf

 

 

 

 

 

 

因为normal distribution 的半球积分 要乘cos 才等于1 这里是对能量的一个积分 涉及了n和l方向的一致性所以乘了costheta 遵循的是能量守恒

各个光照模型归一化(可能是叫这个名字)求这个归一化参数的时候都要用全域积分=1来算

 

 

pdf的半球积分 也等于1 

 

ggx里面两个参数 要用条件概率来降低维度

这里补充下 2维pdf这部分的处理

通过这个

 多维度的情况

 

 

 

 

 

 

第二行 pdf theta|phi写反了应该是pdf phi|theta

 

 

 

 

 

对于这个 把phi积分起来0-2pi 把thera当变量

 

大概是这样

 

 

这里不应该有sintheta 这俩链接已开始对pdf定义少了个sintheta 后者只是把dw拆开 sinthetadthera来写

 

 

 

 

 

对于ggx

因为

 

 

 

 

 

 

 

 

 

 

 

paper里 这里写的是对的

 

 

链接里 这里不太对 也就是上面摘录的最后一步

 

应该是

 

 

 

 

 

 

 

 

 

 

float CosTheta = sqrt( (1 - E.y) / ( 1 + (a2 - 1) * E.y ) );

复制代码

    float Phi = 2 * PI * E.x;    float CosTheta = sqrt( (1 - E.y) / ( 1 + (a2 - 1) * E.y ) );    float SinTheta = sqrt( 1 - CosTheta * CosTheta );

    float3 H;
    H.x = SinTheta * cos( Phi );
    H.y = SinTheta * sin( Phi );
    H.z = CosTheta;

复制代码

 

啊写的不连贯 过三天我自己就忘了

用ggx的ndf 

求pdf 

再求cdf

再求cdf的逆就是采样点 因为是重要性采样 这个采样点很接近H

LV的中间 采样点是球面上的点 所以严谨的说是个方向 用θφ定义


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐