Announcement

Collapse
No announcement yet.

speeding up transparency and vrayclipper.

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

  • speeding up transparency and vrayclipper.

    Vlado i think you owe me one

    as you may or may not remember, ive been having major issues with rendering speed when trying to use vrayclipper or distance-tex and opacity to slice a model,


    This has been due to the number of transparency levels needed, and its at its slowest when the model is completely invisible, which is counterintuitive.


    i have found a really great solution, but it should be somehow incorporated into vray rather than requiring my hack.


    if i apply a displacement modifier to the geometry set to clip, using the same map i use for opacity,and set it to very low resolution (dont need a detailed displacement, just a rough approximation) it subdivides, then deletes all the sub-faces that are completely transparent, before any transparency calculations are done.

    depending on how much of the model is transparent, the speedups can be absolutely enormous. (my first frames with the model entirely transparent, have gone from 5 hrs + down to 2 minutes... (!)

    on later parts where the model is say 50% revealed, i get speedups in the 4 - 8x range.


    id imagine this could be applied wherever transparency is used to clip a model..

    at the moment the displacement mod is causing some rendering artifacts in my scene, which im hoping i can fix.

    - i really need a way to do the face clipping without *any*surface displacement, even tiny amounts are messing with my model.

    the other alternative is vol. select and deletemesh, but that is dog slow compared to the displacement mod.

    is that a nice method or...?

  • #2
    Maybe a simple MCG modifier can be created to do that? I.e. apply a tessellate modifier to the mesh, check the opacity map for the three vertices of each face and delete the ones that are completely transparent.

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

    Comment


    • #3
      i wish i knew how to use mcg.. or even how to script. i never seem to have the time to pick it up.

      i always have to beg for help.


      anyway, to me sounds like something that should be done internally, by default when using transparency in vray?

      id imagine the optimum arrangement (minimum work/ram use) would be:

      1. average opacity map at 32 bit float, if value is 0, then hide whole mesh.

      2. if value is above 0, do the same for each face in model, and delete / hide any faces with an average opacity value of 0

      3. for remaining faces, subdivide to a specified face size ( not sure how to decide automatically, finer tesselation would need more ram but reduce transparency calcs further. probably a sweet spot for each scale of object. ) and repeat process to remove sub-faces.

      that way you would only ever do the minimum of expensive transparency raytracing.

      Comment


      • #4
        We'll think about it...

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

        Comment


        • #5
          Originally posted by vlado View Post
          Maybe a simple MCG modifier can be created to do that?
          Some people still use Max 2014

          Comment


          • #6
            I also use 2014 but sooner or later we will have to upgrade to 2016 or so, MCG is too awesome not to have
            Software:
            Windows 7 Ultimate x64 SP1
            3ds Max 2016 SP4
            V-Ray Adv 3.60.04


            Hardware:
            Intel Core i7-4930K @ 3.40 GHz
            NVIDIA GeForce GTX 780 (4096MB RAM)
            64GB RAM


            DxDiag

            Comment


            • #7
              hopefully this is where some big brain steps in with a nice mcg tool that hides faces based on map value.

              the speedup in renders with transparency im seeing are *really* impressive.

              (admittedly mine is something of a torture test with 50-100 layers of transparent faces to chew through, but that might be quite common, especially for people using vrayclipper to do cutaway stuff. )

              Comment

              Working...
              X