Double Sided Surfaces And How To Disable Them In vGIS (KB-TT013)
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.
Steps to Disable
In the Admin Portal, at the model level, the toggle to enable/ disable double sided surfaces will be below the coordinate system area. This toggle will be defaulted as OFF. Remember to Save and Process Data to complete the process.
Fig. 1
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'
Instructions (Fig. 2)
- Access the datasource from the Data Sources tab in the Portal
- Click on the General tab
- Scroll down to the Script section and paste it in the text box
- Update and Process the Data
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 rendering 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'
Fig. 2
Have Questions? Feel free to Submit A Request to speak with a member of the vGIS Support Team.
Reviewed: 2025-02-04