Announcement

Collapse
No announcement yet.

Need to control render Subdivs per material

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

  • Need to control render Subdivs per material

    Hello,

    Uhhh is there a way to control the number of render subdivs (samples) on a per-material basis? Or a per-object basis? I'm pretty sure this used to exist, but has now been removed?

    This is critical for controlling render times.

    Also, the naming of "subdivs" is extremely problematic. Whose idea was it to use a word that already had a universally accepted meaning, i.e. Catmull-Clark subdivision? The fact that render samples are called "subdivs" makes it completely impossible to get relevant results in any search engine, anywhere.

    But really, seriously, I need to set the number of render samples on a per-material basis. Or a per-object basis. Or SOMETHING!

    There's a "Subdivs Mult" attribute in the VRay Object Properties, but that's only for secondary rays. NOT HELPFUL!

    It feels like the developers have unified things and streamlined the code and UI but didn't take into account the actual concrete needs of their paying customers. AGAIN!!!

    OUCH.

  • #2
    Can you send me an example scene where you need to control the sampling of a material manually? In (almost) every case I've seen customers attempt to do that, they ended up with slower render times.

    The "Subdivs Mult" is for all shading effects on an object - light sampling, reflections, GI etc (not sure if that's what you mean by secondary rays).

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

    Comment


    • #3
      Originally posted by aaron_ross View Post
      Hello,
      Also, the naming of "subdivs" is extremely problematic. Whose idea was it to use a word that already had a universally accepted meaning, i.e. Catmull-Clark subdivision? The fact that render samples are called "subdivs" makes it completely impossible to get relevant results in any search engine, anywhere.
      .
      since I remember subdivisions mean sqrt(samples).
      Marcin Piotrowski
      youtube

      Comment


      • #4
        I think you'll find that this has been a trend in renderers for about a decade now, as algorithms and hardware have gotten faster developers have opted to simplify the render setup process. Yes, there has been a concomitant reduction in granular control in some parts of the rendering setup process for users, but I for one would NOT opt to go back to having to set the number of samples on every light and every shader as was previously the case.

        Comment


        • #5
          Originally posted by SonyBoy View Post
          I think you'll find that this has been a trend in renderers for about a decade now, as algorithms and hardware have gotten faster developers have opted to simplify the render setup process. Yes, there has been a concomitant reduction in granular control in some parts of the rendering setup process for users, but I for one would NOT opt to go back to having to set the number of samples on every light and every shader as was previously the case.
          Hi, yes, this is not my first rodeo.

          You're thinking in binary terms of either / or. Either we set samples locally (per every entity), or we set samples globally. There is a such thing as local override.

          Comment


          • #6
            Originally posted by piotrus3333 View Post

            since I remember subdivisions mean sqrt(samples).
            That is technically accurate. But if you look at other renderers (Arnold) they opted for clarity rather than pedantry in the naming of render samples. There, too, the user data entry field is labeled "samples", but the number of samples per pixel is the square of the user data field.

            The word "subdivs' is not good in this context as it already has a universally applied meaning across the entire field of 3D graphics.

            Comment


            • #7
              Originally posted by vlado View Post
              Can you send me an example scene where you need to control the sampling of a material manually? In (almost) every case I've seen customers attempt to do that, they ended up with slower render times.

              The "Subdivs Mult" is for all shading effects on an object - light sampling, reflections, GI etc (not sure if that's what you mean by secondary rays).

              Best regards,
              Vlado
              Thank for your reply Vlado.

              Unfortunately I cannot send you a scene file as it is not my property. But I can describe what I need to do.

              I've got an architectural scene with a stucco wall. That wall has a lot of detail (normal map). Render times can be improved if I reduce the number of samples on that one object or material, since the grain resulting from lower samples will be hidden in the stucco relief effect.

              Another example I've got a backdrop of stars. This is a geometric sphere with a texture applied. Plus there is depth of field applied to the rendering. The bokeh effect is looking poor due to low render samples. I need to increase the number of samples on that backdrop object and leave everything else alone.

              Regarding the Subdivs Mult attribute only affecting "secondary rays". I'm literally only quoting what your own documentation says.

              https://docs.chaos.com/display/VMAYA...jectProperties

              Subdivs Mult. – Specifies a multiplier for the subdivisions of all secondary ray tracing done for the particular surface.​
              In the stucco wall example, I reduced the Subdivs Mult attribute to 0.1 and saw no change in the render times or the render quality. But maybe I was doing it wrong. I can try again when I'm at work on Monday.

              Thank you again.

              Aaron

              Comment


              • #8
                Originally posted by aaron_ross View Post

                That is technically accurate. But if you look at other renderers (Arnold) they opted for clarity rather than pedantry in the naming of render samples. There, too, the user data entry field is labeled "samples", but the number of samples per pixel is the square of the user data field.

                The word "subdivs' is not good in this context as it already has a universally applied meaning across the entire field of 3D graphics.
                pedantry? heh, not so much. mislabeling still happens in the UI. recent baffling example is a field labeled Samples that actually is samples*4… it just requires few additional mental notes and you get used to it I guess.

                regarding the stucco I can’t imagine noticeable improvement.
                and would not help with stars - dof is controlled by aa.
                Marcin Piotrowski
                youtube

                Comment


                • #9
                  Originally posted by piotrus3333 View Post
                  regarding the stucco I can’t imagine noticeable improvement.
                  and would not help with stars - dof is controlled by aa.
                  Factual reality # 1: reducing Subdivs made my stucco wall render more quickly without compromising fidelity.

                  Factual reality # 2: increasing Subdivs made my DOF starfield render with less noise. The issue is not with grain in the DOF effect, it's grain in the original sampling of the starfield, before the DOF is applied. DOF just amplifies the problem that already exists.

                  Hence the need to adjust Subdivs on a per-object or per-material basis.
                  Last edited by aaron_ross; 22-10-2022, 12:51 PM.

                  Comment

                  Working...
                  X