Announcement

Collapse
No announcement yet.

vrayDirt sampling

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

  • vrayDirt sampling

    Not really a problem, but I find it annoying/curious...

    When using the vray dirt texture in a renderPass (extraTex). The sampling required to get a smooth dirt pass is way higher than the rest of my scene. For that matter, using vrayDirt in any shader requires much higher sample settings... so much so, that I avoid using it. Any chance we might see improvements there?

    Andrew

  • #2
    i experienced that as well. my renering took 5 times (!) as long with the extraTex render element and vray dirt. I ended up using the MR AO shader in a separate render scene since i didn't have anything vray specific like vray displacement.
    Anselm von Seherr - Thoss, incendii VFX www.incendii.com

    Comment


    • #3
      Originally posted by aweidenhammer View Post
      Not really a problem, but I find it annoying/curious...

      When using the vray dirt texture in a renderPass (extraTex). The sampling required to get a smooth dirt pass is way higher than the rest of my scene. For that matter, using vrayDirt in any shader requires much higher sample settings... so much so, that I avoid using it. Any chance we might see improvements there?

      Andrew
      If you use the "Universal settings" scenario, this is expected, as in that case each image sample only calculates one occlusion ray. Consequently many image samples are required to smooth out the effect.

      To fix this, you have to use much higher subdivs for VRayDirt than for image sampling - f.e. if your max. image subdivs is set to 100, you may have to use 1000 subdivs for VRayDirt. In this way, each image sample will compute several occlusion rays and overall less image samples will be required to get good occlusion.

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

      Comment


      • #4
        Admittedly not maya stuff but anyway. I normally use DMC aa for everything but for ao passes I switch to adaptive subdiv at the default -1,2 and use the render override material with a light material and the vray dirt inside it. Set the dirt samples to 24 and it'll fly along compared to dmc. Fair enough it's an extra pass but it's bloody quick.

        Comment


        • #5
          Thanks for the tips folks! Vlado, I was under the impression that DMC with fully adaptive settings would "handle" the subdivs for Dirt. I suppose not. So then I should manually increase my dirt subdivs above the default8 to get a clean dirt pass. Is this correct? I shall try. I generally use around 35 for my max subdivs, so I'm guessing 350 to be a decent starting point, but I'll have to test. Thanks again!

          Andrew

          Comment


          • #6
            just ran a test by increasing subdivs on the dirt (to 3000), and it didn't really change the noise level. It did however change the falloff, that wasn't nice Not really working for me

            Comment


            • #7
              Ok then; can you get me an example scene to vlado@chaosgroup.com just in case there is something else going on?

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

              Comment


              • #8
                Thanks Vlado. In my tests this tip is working as you suggested. In my version of the universal settings I have my DMC's subdiv mult is set to 0.01 so I put the dirt subdivs to 800 (effectively setting it to 8 ). This greatly reduced the noise in my renders, and surprisingly took no longer.

                Something I noticed though. Swatch creation takes a looong time with such high subdivs. At first I thought maya had frozen. Turning off swatch auto creation in the material gets around the problem.
                Last edited by djx; 08-11-2010, 05:50 AM.

                Comment


                • #9
                  There is that, yes. Perhaps we need to limit the swatch subdivs to something more reasonable and use the full value only for rendering.

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

                  Comment


                  • #10
                    Originally posted by aweidenhammer View Post
                    just ran a test by increasing subdivs on the dirt (to 3000), and it didn't really change the noise level. It did however change the falloff, that wasn't nice Not really working for me
                    Same over here...just set my occl subdivs to 25600...even with adaptive dmc 1 100 there is heavy grain...
                    OLIVER MARKOWSKI - Head of 3D at RISE | Visual Effects Studios

                    Comment


                    • #11
                      Can you get me a scene for this? It worked fine in my tests, but there may be something else in your scenes.

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

                      Comment


                      • #12
                        OK... here's a very simple test scene. It doesn't illustrate the problem quite as dramatically as my production scene (that I cannot share), but it does sort of illustrate it.
                        http://www.motr.net/vray/dirtTest/

                        My render settings are basically universal. Sampling threshold at .007 subdivs. The vray dirt is piped into a extraTex render element. I adjusted the dirt subdivs from 1, to 1000, to 10000. The noise is not significantly different on any of them, but the falloff IS. Not desired. Also, the rgb image is lit by a domelight, and seems to have less noise than the dirt pass. That may just be an issue of differing contrast, so I may be wrong there, but I certainly don't see any dirt noise improvement by upping the dirt subdivs.

                        The build I'm using is from Dec13th

                        Andrew

                        Comment


                        • #13
                          Thanks for the scene; it will work fine if you either decrease the "Adaptive amount" for the DMC sampler settings to something like 0.95, or if you increase the "Adaptive min samples" to something like 100. For example, Adaptive amount set to 0.95 and VRayDirt subdivs set to 100 works a lot better.

                          Otherwise, with settings that you have, the VRayDirt samples are practically ignored, V-Ray takes only the minimum adaptive samples (eight in your case), the early sampling termination logic kicks in too soon and makes the result noisy and too biased (the latter causes the varying contrast).

                          Best regards,
                          Vlado
                          Last edited by vlado; 14-01-2011, 05:04 PM.
                          I only act like I know everything, Rogers.

                          Comment


                          • #14
                            Maybe it will be more clear to explain how V-Ray determines the number of samples for VRayDirt. It may seem complicated, but it's quite logical - and you don't need to remember the details, just keep them in mind.

                            First, there are 10000 subdivs for the ambient occlussion, meaning 100,000,000 samples. This is a maximum value - V-Ray will not really trace that many rays. These samples are divided among the 50x50 = 2500 image samples, which gives 40,000 rays for ambient occlusion for each image sample.

                            V-Ray will not typically trace all the 40,000 samples. Instead, it will take a few initial samples to estimate the amount of noise, and then will trace more samples, until the noise level falls down to the specified noise threshold, or until all the 40,000 samples are taken.

                            The number of these initial samples is determined by the "Adaptive amount" and "Adaptive min samples" parameters. The adaptive amount specifies a percentage of the total number of samples that always be traced (0.0 will trace all samples, 1.0 will not trace any). The adpative min samples directly specifies the number of samples that will always be traced. The maximum of these two specifies the initial number of samples that V-Ray always calculates and which are used to estimate the noise level. If necessary, more samples are traced to reach the specified noise level. If these samples are too low, V-Ray will not be able to correctly estimate the noise, which will introduce bias.

                            With your settings, since the Adaptive amount is 1.0, and the Adaptive min samples is 8, V-Ray will only take 8 samples for ambient occlusion for each image sample. These are typically not enough. To make V-Ray take more samples, you either need to decrease the Adaptive amount a bit, or increase the min. samples. I myself would probably keep the Adaptive amount to slightly below 1.0.

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

                            Comment


                            • #15
                              Massive thanks Vlado! That was a huge help. Got it now, and the AO images are perfect. Yes, it helps to understand a bit more of what is going on under the hood, so I thank you for taking the time. I'm sure this will make it into one of my video tutorials eventually With some testing, indeed the better method for this test scene is to reduce Adaptive Amount.

                              Andrew

                              Comment

                              Working...
                              X