usdgeom-mesh-unused-topology#

Code

VG.018

Validator

latest+

Compatibility

core usd

Tags

🚀

Summary#

Mesh topology should be without unused vertices, edges, or faces.

Why is it required?#

  • Unnecessary memory usage

  • Larger file sizes

  • Potential rendering artifacts

Examples#

#usda 1.0

# Invalid: Mesh with unused vertices
def Mesh "MeshWithUnusedPoints" {
    int[] faceVertexCounts = [4]
    int[] faceVertexIndices = [0, 1, 2, 3]  # Only uses first 4 vertices
    point3f[] points = [
        (0,0,0), (1,0,0), (1,1,0), (0,1,0),  # Used vertices
        (2,0,0), (3,0,0), (3,1,0), (2,1,0)   # Unused vertices
    ]
}

# Valid: Clean topology
def Mesh "CleanMesh" {
    int[] faceVertexCounts = [4]
    int[] faceVertexIndices = [0, 1, 2, 3]
    point3f[] points = [
        (0,0,0), (1,0,0), (1,1,0), (0,1,0)  # Only required vertices
    ]
}

How to comply#

  • Remove unused vertices

  • Clean up topology in source application

  • Re-export with optimized topology

For More Information#