Announcement

Collapse
No announcement yet.

Hold-out option in renderElement (like MR ?)

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

  • Hold-out option in renderElement (like MR ?)

    Hi all,
    In MentalRay we have an option to output a "full pass" with an "hold-out" option.
    Like for example a full shadows, or a full beauty behind all objects.
    I explain :
    Here a render :


    Here the shadows pass :


    And the reflection pass :


    An a beauty pass (it is like the "principal render") :


    Now i set this pass into a contributionMap, with the floor in the contributionMap (in Vray, it will be like the light select renderElement, and the relationship editor. Just connect some objects to a renderElement).

    Here the result :
    Shadows pass:


    Reflection pass:


    Beauty pass :



    Now here the "BIG OPTION a would in Vray" :
    Here in the reflection pass :


    The hold-out option ! I uncheck in all renderPass.

    Now i render.
    Here the result :
    Shadow pass (without hold-out) :


    Reflection pass (without hold-out) :


    Beauty pass (without hold-out) :


    All pass are "full" in one render for the floor.
    Currently, for example in vfx, to separate the floor with a character, we create a renderLayer, with the character and the floor with "primary visibility" off.
    After, we create a another renderLayer with the floor (with a matte shadows renderElement, an occlusion in extraTexture renderElement, etc etc), and the character with "primary visibility" off.

    We must to calcule 2 times, if we want to separate 2 characters, we must to calculate 4 times, 3 characters, 6 times, etc etc...

    With this option, we will calculate... 1 time.

    Thanks.
    www.deex.info

  • #2
    +1 from me!!! this is a real advantage of MR...although it sucks in every other case
    OLIVER MARKOWSKI - Head of 3D at RISE | Visual Effects Studios

    Comment


    • #3
      It's not too difficult technically (the UI might be more complicated). I'll make a note for this, but I'm not sure when we'll get there.

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

      Comment


      • #4
        Originally posted by bigbossfr View Post
        All pass are "full" in one render for the floor.
        Currently, for example in vfx, to separate the floor with a character, we create a renderLayer, with the character and the floor with "primary visibility" off.
        After, we create a another renderLayer with the floor (with a matte shadows renderElement, an occlusion in extraTexture renderElement, etc etc), and the character with "primary visibility" off.

        We must to calcule 2 times, if we want to separate 2 characters, we must to calculate 4 times, 3 characters, 6 times, etc etc...

        With this option, we will calculate... 1 time.
        Hmm, how would that happen? Even if we implement this, you'd still need at least two renders, right - one for the character(s) and one for the floor?

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

        Comment


        • #5
          If you implement this, we will have 1 render.
          The image will be calculate 1 time.

          Here a MentalRay scene for you :

          https://rapidshare.com/files/1372871...ldOutMR.ma.zip

          Render the scene with the render view and you will see 3 beauties pass (in the tmp image directory or in the renderView ---> load render pass)
          One with the "full" floor, one with the "full" red sphere, one with the "full" blue sphere, and we have one render.

          For the technique :
          1) I create 3 contributionsMaps (one object by contributionMap)
          2) I create 3 beauty pass (or what you want, specular pass, reflection pass, etc etc, but we need a beauty pass in Vray also). I assign each beautyPass to each contributionMap. I set hold-out to off for each pass.

          Finish.

          Advantage :
          - one render
          - we win a lot of render time : it is more faster because we have one render, so we read one time all textures, no need to recalculate some parts of the image, etc etc
          www.deex.info

          Comment


          • #6
            Thanks for the scene; there is a problem with this approach though: how do you control the antialiasing of the passes (I do have the "contrast all buffers" option enabled)? For example, in your scene, if I add a light with shadows, this is what I get for the floor - notice the low AA on the shadow boundaries.

            Click image for larger version

Name:	test.png
Views:	1
Size:	9.4 KB
ID:	844772

            Imagine then that you use brute force GI for the scene; which part do you base the sampling on? The front-most object? In that case you may get issues like the above (low sampling, noise etc) for objects behind it. On the other hand, if you take into account all objects, this will cause a lot of unnecessary samples and slow down the rendering. How do you deal with this issue?

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

            Comment


            • #7
              If i have the "contrast all buffers", the AA on the shadow is nice.
              And yes, if i set the "contrast all buffers" to off, the AA of the shadow is like your image.
              So i think we must to always enable the "contrast all buffers" to have a good AA.

              For the slow down, yes, we will have a lot of unnecessary samples, but, between one render (with unnecessary samples) and 2 (or 3 or 4 or 5) renders (each render will open the scene, load all textures, etc etc), which is the fastest ?
              I think it is the first, because we load one time all textures, one time the scene, one time the geometry, etc etc...

              Sometime we have some scenes with like 300 exr mipmaped 8k texture + lot of proxy, etc etc... i think we can win a lot of render time and a lot time in the workflow (sometime we must to wait 10 min to switch between layers).
              But i am not very competent to know if technically what i say is wrong or not :/.
              www.deex.info

              Comment


              • #8
                Well there is no other way to find out except to try and see which one works better I guess

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

                Comment


                • #9
                  Hi,
                  Any new about this please ?
                  This methode can divide the render time a lot (no need to create some render layer to separate some objects).

                  Thanks.
                  www.deex.info

                  Comment


                  • #10
                    It is being worked on, but I can't say for the moment when it will make into the nightly builds.

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

                    Comment


                    • #11
                      Originally posted by vlado View Post
                      It is being worked on, but I can't say for the moment when it will make into the nightly builds.

                      Best regards,
                      Vlado
                      Hello Vlado. How we can use this feature in vray ? I want to get two semi-occluded objects in separate EXR's in one rendering\lighting calculation process as mention above in this thread.
                      Very curious.
                      Last edited by namaissur; 01-07-2019, 10:10 AM.

                      Comment

                      Working...
                      X