usdgeom-boundable-size#
Code |
VG.005 |
---|---|
Validator |
|
Compatibility |
rtx |
Tags |
🚀 |
Summary#
Meshes should maintain appropriate scale and boundary volumes
Description#
Meshes should maintain appropriate scale and boundary volumes for efficient raytracing and rendering. The boundary volume of a mesh should be sized appropriately for its purpose and visual requirements. Large meshes with significant bounding box overlap of other meshes slow down raytracing performance significantly.
Why is it required?#
Slow raytracing performance
Inefficient BVH traversal
Reduced rendering performance
Memory inefficiency
Examples#
#usda 1.0
(
metersPerUnit = 1.0
)
# Not recommended: Excessively large mesh
def Mesh "mesh_0"
{
# 84km mesh. Precision will also be limited to > 1cm
float3[] extent = [(-42000, -42000, -42000), (42000, 42000, 42000)]
int[] faceVertexCounts = [4, 4, 4, 4, 4, 4]
int[] faceVertexIndices = [0, 1, 3, 2, 4, 5, 7, 6, 6, 7, 2, 3, 5, 4, 1, 0, 5, 0, 2, 7, 1, 4, 6, 3]
point3f[] points = [(42000, -42000, 42000), (-42000, -42000, 42000), (42000, 42000, 42000), (-42000, 42000, 42000), (-42000, -42000, -42000), (42000, -42000, -42000), (-42000, 42000, -42000), (42000, 42000, -42000)]
}
How to comply#
Split into multiple smaller meshes
Reduce boundary volume where possible
Fix in source application and re-convert