Viz Artist User Guide

Version 5.0 | Published December 20, 2022 ©

Instancing

images/download/thumbnails/105091584/image2022-8-22_14-12-44.png

Viz Engine 5 introduces an efficient way to render a single object multiple times. It requires a minimum amount of drawcalls to the GPU and reduces the time to render these objects dramatically. The required information is uploaded to the GPU only once, which allows to draw a lot of copies very efficiently.

To setup this type of rendering, two new plug-ins are required, an Instancer and a Producer plug-in.

Icon

Description

images/download/thumbnails/105091584/image2022-8-22_14-19-9.png

Defines the geometry and look for our setup. Put this plug-in on your geometry to be instanced.

You need to define the container holding the corresponding Producer plug-in in the User Interface.

images/download/thumbnails/105091584/image2022-8-22_14-17-54.png

Uses the defined geometry and distributes them among its subcontainers.

Example

  • Create a sample geometry, like in our example a Tree and put it as a Subcontainer.

  • Apply the Producer plug-in to it.

    images/download/thumbnails/105091584/image2022-8-22_14-46-42.png


    images/download/attachments/105091584/image2022-8-22_14-52-57.png

Our example tree has about 3.2 million vertices and our scene requires 17 drawcalls:

  • Create a target container.

  • Use Cloner or a similar plug-in to create a certain amount of sub containers. In our example we want to have 40 clones, divided into eight rows and five columns.

  • Apply the Instancing plug-in on it.

  • In the Producer plug-in, defines our target container as producer container.

images/download/thumbnails/105091584/image2022-8-22_14-56-5.png

We now have 40 trees.

images/download/attachments/105091584/image2022-8-22_14-57-31.png

Giving some rotation and scaling differences as well as some offsets to the XZ position would look make it more realistic.

Note: Not all features are available for instanced objects (for example, shadowing and global illumination).