Announcement

Collapse
No announcement yet.

Unbiased Randering and Caustics

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Unbiased Randering and Caustics

    Vlado-

    Ok, now you have me looking at ways around this limitation. I cant wait to see what you are planning for the next release. But in the meantime...

    Click image for larger version

Name:	2012_CornellBox_BDPathTrace_MirrorBallGlassBallLimeAndBlue_01.jpg
Views:	1
Size:	43.2 KB
ID:	876527Click image for larger version

Name:	2012_CornellBox_BDPathTrace_MirrorBallsOrangeAndLime_01.jpg
Views:	1
Size:	50.3 KB
ID:	876528

    And this looks like an interesting technique especially as you already have a good photon infrastructure and its still unbiased.

    http://graphics.cs.ucdavis.edu/~bcbu...h/caustics.pdf

    Am I right to assume light tracing is similar?

    what about vertex merging?

    http://cgg.mff.cuni.cz/~jaroslav/pap...pplemental.pdf
    Last edited by anchovy; 20-07-2012, 10:16 PM.

  • #2
    Originally posted by anchovy View Post
    This is precisely the technique that we plan to use. Although we didn't know it was going to be called "vertex merging" when we came up with it To my knowledge, it is currently the only existing method that can handle efficiently caustics in mirrors and through reflections.

    Best regards,
    Vlado
    Last edited by vlado; 20-07-2012, 11:23 PM.
    I only act like I know everything, Rogers.

    Comment


    • #3
      Originally posted by vlado View Post
      This is precisely the technique that we plan to use. Although we didn't know it was going to be called "vertex merging" when we came up with it To my knowledge, it is currently the only existing method that can handle efficiently caustics in mirrors and through reflections.

      Best regards,
      Vlado
      Game on! cant wait to see some samples. Ill be happy to throw some scenes your way.

      -Michael

      Comment


      • #4
        I gather this is almost identical.

        path-space-extension-robust-light-transport-simulation
        http://cs.au.dk/~toshiya/ups_tr.pdf

        And of interest...

        "Vertex merging is simply a path-space interpretation of kernel photon density estimation, and hence inherits all its properties. One important one is that as you shrink the radius, the likelihood of two paths getting merged decreases. This is the intuitive explanation of the lower variance order of convergence of PPM O(1/N^alpha), which Knaus & Zwicker [2011] derived, compared to BDPT's which is O(1/N). Hence, PPM can bring very good initial estimate (via brute-force variance reduction), but it converges to the true value at a slower rate than BDPT. As a result, after some samples, BDPT's error will get lower than that of PPM and will continue to vanish at a faster rate than PPM's. This is the diminishing efficiency of PPM, as its individual frame estimates become more and more noisy over time, even though the cumulative error of the averaged result over all iterations goes to zero. Asymptotically, the most stupid path tracer is faster than the best PPM out there. Just that it often takes an impractical amount of samples to reach the crossing point Fortunately, the BDPT+VM combination weights the techniques adaptively to take the best of both worlds."

        -Michael

        Comment


        • #5
          Yes, it's very similar as a concept.

          Best regards,
          Vlado
          I only act like I know everything, Rogers.

          Comment


          • #6
            if we can get anything close to this it will be fantastic.

            Click image for larger version

Name:	th2.png
Views:	1
Size:	87.1 KB
ID:	845831

            -Michael

            Comment


            • #7
              Yes, this is the idea.

              Best regards,
              Vlado
              I only act like I know everything, Rogers.

              Comment


              • #8
                Its amazing what the relative size of the the light will do for how quickly you can get the caustics seen through the glass to resolve.

                I let this first version with a near point light run until I got board.

                Click image for larger version

Name:	2012_CornellBox_BDPathTrace_Bunny_Glass_PointLight_01.jpg
Views:	1
Size:	58.8 KB
ID:	845840

                The area light looked good in just 2 hours. I let it run just to see how clean it would get.

                Click image for larger version

Name:	2012_CornellBox_BDPathTrace_Bunny_Glass_AreaLight_01.jpg
Views:	1
Size:	46.7 KB
ID:	845841

                -Michael

                Comment


                • #9
                  What about manifold exploration? Seems much more robust and general than PPM, even with vertex-merging to combine it with BDPT. (http://www.cs.cornell.edu/projects/manifolds-sg12/)

                  Of course it only works efficiently (if I've understood Wenzel correctly) in a Veach-style Metropolis Light Transport framework, which is a hastle...

                  - Jorge
                  http://www.schwarz3d.com
                  The millionth visitor wins a cookie... Hurry up!

                  Comment


                  • #10
                    No technique based on MLT can be efficient... MLT algorithms depend on chance much more than vertex merging and unified path sampling. Not to mention they are horribly hard to implement correctly.

                    Best regards,
                    Vlado
                    Last edited by vlado; 27-07-2012, 12:36 AM.
                    I only act like I know everything, Rogers.

                    Comment


                    • #11
                      I definitely agree with you on the last part, implementing them correctly is incredibly hard and time consuming... But MLT-based methods are inherently less chance dependent than pure PT or BDPT, since they at least attempt to find the more important parts of the path-space, whereas the others rely on blind luck to hit them. While PPM is neat in theory, it is asymptotically inferior when it comes to convergence when compared to BDPT, and setting it up correctly is also really scene-dependent. I'd love to hear your arguments why you feel that MLT is inherently inefficient.

                      Cheers!

                      Jorge
                      http://www.schwarz3d.com
                      The millionth visitor wins a cookie... Hurry up!

                      Comment


                      • #12
                        Originally posted by axezine View Post
                        But MLT-based methods are inherently less chance dependent than pure PT or BDPT, since they at least attempt to find the more important parts of the path-space
                        MLT doesn't attempt to find anything; it relies on blind chance to find important parts (same as any other path tracing algorithm), and then it explores nearby similar paths. But, same as other Monte Carlo algorithms, it can completely miss an important part of the image if it never comes across it in the first place.

                        Further on, MLT algorithms must use pure random numbers; it is not possible to use optimizations like Schlick sampling or Quasi-Monte Carlo sampling. This immediately makes them worse than regular (bidirectional) path tracing for a vast majority of not-so-difficult to compute scenes.

                        Finally, because of its pure randomness, using MLT for animations is difficult (there is no guaranteed consistency between successive frames).

                        Best regards,
                        Vlado
                        I only act like I know everything, Rogers.

                        Comment


                        • #13
                          Ah, yes, sorry, I meant to say that MLT-based methods at least attempt to explore those important parts of the path-space once they find them, whereas pure PT or BDPT methods rely on luck to find them again...

                          With regards to the purely random numbers, I'm not aware of that being a requirement. Indeed even for Kelemen-style MLT the idea is that the sample distribution will eventually converge to be proportional to the scene's "importance" function, that's the whole point of the Markov Chain MC methods, and its perfectly acceptable to use a low-discrepancy or QMC sampling scheme to reduce variance. As long as ergodicity of the Markov Chain can be guaranteed (so that there's a non-zero chance that the entire space can be sampled, and reversing mutations is possible), any random or quasi-random number sequence can be used for sampling.

                          Cheers!

                          Jorge
                          Last edited by axezine; 27-07-2012, 05:48 AM.
                          http://www.schwarz3d.com
                          The millionth visitor wins a cookie... Hurry up!

                          Comment


                          • #14
                            Originally posted by axezine View Post
                            With regards to the purely random numbers, I'm not aware of that being a requirement. Indeed even for Kelemen-style MLT the idea is that the sample distribution will eventually converge to be proportional to the scene's "importance" function, that's the whole point of the Markov Chain MC methods, and its perfectly acceptable to use a low-discrepancy or QMC sampling scheme to reduce variance.
                            Nope; it isn't. There is a paper by A. Owen that proves that low discrepancy sequences cannot be used for the Metropolis algorithm. I can't find it right now, but this is briefly mentioned here:
                            http://statistics.stanford.edu/~ckir...04/2004-35.pdf

                            The absence of a QMC approach for the Metropolis algorithm was noted in [2] and in the recent dissertation [4]
                            Though the paper goes on to propose a QMC method for Metropolis sampling, it does not use low discrepancy sequences, and it's usefulness for image rendering is somewhat unclear.

                            Best regards,
                            Vlado
                            Last edited by vlado; 27-07-2012, 06:25 AM.
                            I only act like I know everything, Rogers.

                            Comment


                            • #15
                              Hmm, I guess you're right and I was reasoning about it the wrong way, indeed guaranteeing ergodicity with a QMC sequence would be next to impossible.

                              In any case, while QMC or other low-discrepancy sampling techniques give you a slight reduction in variance of the integrand (improving the result of PT or BDPT-based methods a bit), I'm still quite sure that the efficiency of a well-implemented Veach-style MLT renderer will be higher, especially for the typical real-world cases (and I agree that for the really simple cases, even pure PT can be more efficient thanks to its simplicity). For the really hard cases, manifold exploration (for MLT) or PPM (with vertex merging, for BDPT) are the only ways to even think about solving them, and which method has the upper hand is up for debate so far. But I would still contend that, in aggregate, MLT-based methods can be much more efficient than BDPT-based ones.

                              I do see how it would be MUCH more straightforward to incorporate vertex merging with PPM to V-Ray, and switching to a Veach-style MLT implementation is most probably unrealistic... I mostly wanted clarification of your argument that MLT is inherently inefficient (or less efficient than BDPT), which I don't believe is true.

                              EDIT: Re-reading your next-to-last post I agree with much of what you said there, though I believe the number of cases where BDPT will be more efficient due to QMC sampling are not that many... The case for animation is much stronger, but also depends on how much variance you're willing to live with in the final image (ie, you can trade-off having more, but consistent, variance in QMC BDPT, with having less, but inconsistent, variance in MLT).

                              Cheers!

                              Jorge
                              Last edited by axezine; 29-07-2012, 06:42 PM.
                              http://www.schwarz3d.com
                              The millionth visitor wins a cookie... Hurry up!

                              Comment

                              Working...
                              X