Announcement

Collapse
No announcement yet.

Static geometry means no instancing?

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

  • Static geometry means no instancing?

    Hi, i was recently reading Vray help regarding embree and i stumbled upon something interesting. In help, it says this:

    "Use Embree - turning this option enables the Intel Embree raycaster.

    Currently in V-Ray Embree accelerates only static geometry (as opposed to dynamic, or render-time geometry). To get the maximum performance, it is recommended to set the Default geometry parameter to Static - this will use more memory (any instances will be replicated), but the rendering will be much faster. You can also use Embree to accelerate 3D displacement and subdivision surfaces if you enable the Static geometry option in VRayDisplacementMod (however note that this option can increase drastically the memory requirements for your scene)."

    Does that really mean using Static structure disables instancing, or did i misunderstand it? I always use static, as i always try to fit my scenes into memory, to avoid performance hit of out-of-core rendering, and i used static even on some scenes with huge instancing. However if static would disable instancing, then i struggle to believe all of those instances would fit in the memory as unique geometry. Yet the scenes rendered just fine, but that is in collision with what help says, if "any instances will be replicated" means instances will become unique geo.

  • #2
    I think we forgot to update the help... Embree can actually accelerate instances just fine.

    Setting the geometry to "Static" disables instancing, except in the cases of proxies. This is only as far as the raytracing accelerator is concerned though; the instances still share other information like normals and mapping channels. V-Ray also tries to share as much information with 3ds Max itself - f.e. normals and map channels are used directly from the 3ds Max mesh objects instead of copied internally (this is another reason why the 3ds Max UI needs to be locked while V-Ray is rendering).

    In any case, you can look at the V-Ray log; at the end of a render it says "SD triangles" - this is the number of non-instanced triangles. If you have instances, they will appear as "Static primitives" (though "Static primitives" this will also include proxies, hair, displacement and other stuff).

    We still have lots to improve in terms of render speed for instances though - it could be quite a bit faster than what we have now.

    Best rgards,
    Vlado
    Last edited by vlado; 08-04-2015, 03:49 AM.
    I only act like I know everything, Rogers.

    Comment


    • #3
      Just did a test, and wow... instancing really doesn't work in static mode. I wonder how could i miss that and how was i ever able to render so big scenes with static structure. I was using proxies a lot more back then since 3ds Max viewport couldn't handle as much geometry as it does today.

      I also used ForestPack for instancing most of the time, so perhaps that had some effect as well.

      I will definitely use Auto as long as i do some heavy instancing from now on.

      Comment


      • #4
        Ah ok, ForestPro/MultiScatter/VRayInstancer always generate true instances.

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

        Comment

        Working...
        X