Announcement

Collapse
No announcement yet.

(Won't Do) [ HOU-2396 ] open subdiv gone

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

  • (Won't Do) [ HOU-2396 ] open subdiv gone

    It appears that in today's build (and probably earlier builds) the open subdiv tab has disappered. Has this been moved to another loacation (and if so, where is it now) or did this happen by mistake?
    Last edited by chakarov; 28-01-2021, 12:51 PM.

  • #2
    Hi ronald_a, we've decided to remove opensubdiv in favor of V-Ray Subdivision, because it is faster, uses less memory , view-dependent and also supports creases. You could enable it in displacement settings in object properties or V-Ray Displacement VOP in shader.
    Is there a particular case where opensubdiv is better choice, or a workflow where it is preferred.
    Georgy Chakarov | QA
    www.chaosgroup.com
    georgy.chakarov@chaosgroup.com

    Comment


    • #3
      Hi chakarov , sorry for the late reply. No, there is no particular case. I was just testing creases with houdinis sop subdivide (which has a lot of option for how the creases work in open subdiv mode) and wanted to see how it would translate to vray. as the subdiv creasing did yield vastly different results from what houdini shows on sop level to what vray renders, I thought that this was due to open subdiv. But as it turns out, with older versions of vray where open subdivs are still available, there is not too much of a difference (compared to vray's subdivs).

      So on that note, it might be interesting to see if it would be possible to match the result of creasing to reassemble what houdini does (which appears to be the correct result).

      Comment


      • #4
        Originally posted by chakarov View Post
        Hi ronald_a, we've decided to remove opensubdiv in favor of V-Ray Subdivision, because it is faster, uses less memory , view-dependent and also supports creases. You could enable it in displacement settings in object properties or V-Ray Displacement VOP in shader.
        Is there a particular case where opensubdiv is better choice, or a workflow where it is preferred.
        Hi chakarov, I found an issue with this.

        While rendering instances (through instance node or copy to points), if we use the displacement subdivision it causes the mesh to be "unique" (massive render startup compiling geo), if we revert that and go back to using openSubdivs the instances work as expected (super fast geometry compilation). We can also see that in V-Ray 5 stats that when using displacement the instanced geometry shows up under "Static geometry", and that number goes up as the number of instances goes up. ANd with openSubdiv the"Static geometry" is empty and instead the "Dynamic geometry" is used.

        So, major issue here when using displacement subdivisions.

        This also led me to test how memory is used when rendering a single asset (Alembic mesh) rendered with openSubdiv vs displacement subdivision. And as you can see from the screenshots attached, the displacement turns the geometry into a static mesh, which is the expected behavior when displacing the mesh, but in this case a huge disadvantage compared to using open subdivs.
        When using render time subdivisions we don't want our meshes to turn into static geo, we need to keep them as dynamic geo to make use of the dynamic geo advantages.

        This happens both in V-Ray 4 and 5.

        openSubdiv memory:
        Click image for larger version  Name:	openSubdiv.JPG Views:	0 Size:	24.8 KB ID:	1100345

        displacement memory:
        Click image for larger version  Name:	displacement.JPG Views:	0 Size:	24.5 KB ID:	1100346

        Best,
        David.
        Last edited by david.anastacio; 26-01-2021, 08:43 AM.
        David Anastácio // Accenture Song - VFX
        https://www.accenture.com/us-en/serv...visual-effects

        Comment


        • #5
          Good catch.
          This definitely needs to be fixed.

          Comment


          • #6
            Hey david.anastacio ,

            When using render time subdivisions we don't want our meshes to turn into static geo, we need to keep them as dynamic geo to make use of the dynamic geo advantages.
            The Generate option is defaulted to "Pre-Tesselate" which we should update - I'll do this right away. Setting it to "On the Fly" should give you, as expected, dynamic geometry that is released from memory once no longer needed.
            Could you please give that a shot to see if it gets the job done for you ?
            I've tried it on my end and it behaves as expected but if you hit something unusual, please ping me - I'll check ASAP.

            PS: As a side note - we merely hid the folder with the OpenSubdiv options - you could simply open the parameter interface and unhide them in case you prefer using OSD. Still, I think you'll find the V-Ray Subdivion significantly more memory efficient.

            Best regards!
            Last edited by Gosho.Genchev; 29-01-2021, 09:46 AM.
            gosho.genchev@chaosgroup.com

            Comment


            • #7
              Hi Gosho.Genchev ,

              PS: As a side note - we merely hid the folder with the OpenSubdiv options - you could simply open the parameter interface and unhide them in case you prefer using OSD. Still, I think you'll find the V-Ray Subdivion significantly more memory efficient.
              We noticed that, i tested some assets that we had from V-Ray Next and they worked with the openSubdiv.

              Setting it to "On the Fly" should give you, as expected, dynamic geometry that is released from memory once no longer needed.
              Well...it makes it better, but far from perfect still.

              but if you hit something unusual, please ping me - I'll check ASAP.
              Ok, here we go then

              Upon further testing the displacement seems far from giving us the same performance as the openSubdiv, I find it hard to believe that it's faster and more memory efficient than the openSubdiv.

              Simple test scene with instancing of an alembic mesh. Bucket render mode, GI on with default settings.

              Default scene for establishing our baseline, alembic loaded into an instance node with 50 points, 2.2s total render time and 2.16Mb of dynamic geo, all good here.
              Click image for larger version  Name:	default.JPG Views:	0 Size:	65.0 KB ID:	1100855

              Same as before but openSubdiv ON with 2 divisions. 2.5s and 25.33Mb of dynamic memory, perfect.
              Click image for larger version  Name:	openSubdiv.JPG Views:	0 Size:	65.7 KB ID:	1100856

              Now with Displacement subdivision ON (Render Displacement checkbox OFF), mode set to "On the Fly" and "Dicing" on default (Use Global Settings). 36.8s and 718.3Mb, wow that's 15 times longer to render and 28 times more memory ....
              Click image for larger version  Name:	displace_subDiv_global.JPG Views:	0 Size:	64.8 KB ID:	1100857

              Ok, let's try with the same amount of subdivisions, maximum of 2. Dicing "Use Global Settings" OFF, max subdivisions 2 and edge length of 4. 37.5s and 718.18Mb... This is not working.
              Click image for larger version  Name:	displace_subDiv_max2.JPG Views:	0 Size:	65.4 KB ID:	1100858

              In addition, I gave it a try with an asset with with full shading, some UDIMs, regular displacement, and openSubdiv came in faster to render.
              1 - Displacement (Pre-tesselated) + openSubdiv: 1m41s,
              2 - Displacement (Pre-tesselated) + Displacement subdivision: 1m48s
              3 - Displacement (On-the-Fly) + Displacement subdivision: 2m19s
              Click image for larger version  Name:	asset.JPG Views:	0 Size:	155.7 KB ID:	1100859

              At this stage I don't see why we would switch to displacement subdivisions at all, and unless there is something quite wrong in the current V-RAY builds were the render subdivisions are not working as intended I would suggest to bring back the openSubdiv tab so users can use it without having to unhide the parameter.

              Best,
              David.
              David Anastácio // Accenture Song - VFX
              https://www.accenture.com/us-en/serv...visual-effects

              Comment


              • #8
                Gosho.Genchev, anything about my latest post?
                David Anastácio // Accenture Song - VFX
                https://www.accenture.com/us-en/serv...visual-effects

                Comment


                • #9
                  That's interesting, thanks
                  Hristo Velev
                  MD/FX Lead, Bottleship VFX
                  Sofia, Bulgaria

                  Comment

                  Working...
                  X