Double sided surfaces and how to disable them in vGIS
When rendering 3D visuals, vGIS expects shader or texture only on one side of each facet. Otherwise, by rending both sides of the same plane at once, the rendering engine will have a harder time processing the visuals to display in AR. Rendering of double-sided surfaces will cause what's known as "z-fighting" effect and increase the workload on the system by a factor of ten, causing even a modest model to cause a substantial drop in system performance or an outright system crash.
In some cases, Esri Scene Features may contain instructions to apply shader or texture to both the inner and the outer faces of the model. To solve this, you will need to exclude one of the surface's sides from being rendered. To do so, add the following script to your data source:
- destination.Metadata.MaterialDefinitions.CullFace = 'back'
- Access the Data Sources tab from the side menu (Fig. 1)
- Select the ROOT folder and click on the Script tab (Fig. 2)
- Paste the script in the 'Script' text box
- Save changes and Process the Data (Fig. 3)
Once the Layer Data has been processed, open the vGIS Utilities app and check if the performance has improved and if there are any signs of z-fighting.
Note: in some cases, when the above script is applied, the structure of data source data may cause visuals to disappear from the screen completely. It indicates that the renderer excluded the wrong side of surfaces. If it occurs, return to the Admin Portal and replace the 'back' part of the script with the word 'front':
- destination.Metadata.MaterialDefinitions.CullFace = 'front'