Home Forums Games202-高质量实时渲染 [作业4]请教 E(u)的计算

Viewing 6 reply threads
  • Author
    Posts
    • #9058 Score: 0
      Neil2077
      Participant

      作业4,2.2.1 预计算 E(u) 的部分:这个是一个双重积分。。。这个怎么用蒙特卡洛方法求解?之前都是搞一重积分。。。请高手指点!先谢过!

    • #9061 Score: 0
      小夜子
      Participant

      公式里是双重积分。但利用蒙特卡洛积分后,其实是对球面进行采样完积分,所以核心是对球面进行采样。

      • #9069 Score: 0
        Neil2077
        Participant

        这个点搞明白了,多谢!
        不过,还是不会做….,继续请教。:)
        IntegrateBRDF()函数的注释: TODO: To calculate (fr * ni) / p_o here
        这里的 fr 就是微表面模型的 brdf 值,对吧? p_o 是样本的 pdf 值?就是这个 ni 是啥。。。。

    • #9072 Score: 0
      Neil2077
      Participant

      又看了一遍文档,尝试 ni==mu_i,即 sin(theta)。。。貌似结果是正确了

    • #9996 Score: 0
      Yui
      Participant

      积分里不是乘的sin(theta)吗,怎么这里用的是n*i,也就是cos(theta)呢?

    • #10220 Score: 0
      闪电的蓝熊猫
      Participant

      这个我查了原paper,发现paper里用的是cos(theta),闫老师讲的是sin(theta),可能是弄错了。

      • #11684 Score: 0
        小木子
        Participant
        2 pts

        并不是闫大讲错了,是你没有想明白为什么这积分里用cos还是sin的值会一样,原因我发下面了

    • #11271 Score: 0
      ZETAAAAAAAA
      Participant
      2 pts

      别纠结sintheta,costheta,他就是把反射率方程的Li换成1然后做换元,我们还是对反射率方程做蒙特卡洛积分。可以看下面的推导

      Attachments:
      You must be logged in to view attached files.
    • #11683 Score: 0
      小木子
      Participant
      2 pts

      为什么就没人把话说完,ZETAAAAAA的公式是对的,对立体角的积分转化为对theta和phi的积分,再转换为sin theta和phi的积分,其实这三个积分都可以做蒙特卡洛,而且值还都是相等的,那么三次蒙特卡洛的区别在哪里?
      1.积分公式:第一个积分里面是cos,第二个积分里面是cos sin ,第三个积分里面是sin
      2.pdf:(假设都是均匀采样,那么概率密度就是积分区域的倒数)做蒙特卡洛是要当前采样积分结果乘1/pdf的,第一个积分的pdf显然就是半球立体角的倒数1/2pi,第二个积分的pdf(双重积分的pdf用两次采样pdf的乘积)是theta的积分域pi/2的倒数与phi的积分域2pi的倒数乘积= 1 / pi^2,第三个积分的pdf是 sintheta 积分域 1 的倒数 和 phi 积分域 2pi的倒数乘积 = 1/2pi
      综上所述,所以不用纠结积分公式里是sin 还是 cos,因为他们的pdf都是 1/2pi,所以无论是cos还是sin都不会改变这个积分的值

Viewing 6 reply threads
  • You must be logged in to reply to this topic.