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

重要性采样 ggx

 

重要性采样 ggx

 

 

 

重要性采样 ggx

 

 重要性采样 ggx

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

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

重要性采样 ggx

 

 

pdf的半球积分 也等于1 

 

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

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

通过这个

 多维度的情况

 

 重要性采样 ggx

 

 重要性采样 ggx

 

 

重要性采样 ggx重要性采样 ggx

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

 

 

 重要性采样 ggx

 

 

重要性采样 ggx对于这个 把phi积分起来0-2pi 把thera当变量

 

大概是这样

重要性采样 ggx

 

 

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

 

 

 

 

 

对于ggx

因为

重要性采样 ggx

 

 

 重要性采样 ggx

 

 

 

 重要性采样 ggx

 

 

 

 

paper里 这里写的是对的

重要性采样 ggx

 

 

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

重要性采样 ggx

 

应该是

 

 

 重要性采样 ggx

 

 

 

 

 

 

 

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的中间 采样点是球面上的点 所以严谨的说是个方向 用θφ定义

相关文章:

  • 2021-04-11
  • 2021-11-09
  • 2022-12-23
  • 2021-04-17
  • 2021-08-26
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-10-18
  • 2021-09-17
  • 2022-01-14
  • 2021-11-04
  • 2022-12-23
相关资源
相似解决方案