In TrackID and TrackIDRaw, primitives are always numbered contiguously. For maximum flexibility, this method allows setting the available 62bit raw ID for each primitive individually.
Note:
size must match exactly the number of primitives.
Note:
see documentation of SurfaceBuilder::TrackID for descriptions of how the IDs work and how the flags are interpreted.
Signature
class SurfaceBuilder:
// Enables primitive tracking by providing explicit IDs for each primitive
fun trackPrimitiveIDs(
primitiveIDs: [uint64_t],
lifetime: Lifetime = CopyImmediately,
)