RealityKit Subdivide

In the Discover RealityKit APIs for iOS, macOS, and visionOS presentation, there was a slide at the end highlighting new features not covered in the video. One of them was surface subdivision, but I have not been able to find any documentation or APIs that support this feature. Does anyone have any further details or how this works in RealityKit?

Answered by Vision Pro Engineer in 796202022

In that slide, "Subdivision surface" refers to added support for subdivision surface in USD files and is not referring to a new API to enable general subdivision surface for all meshes. From the release notes:

USD files which use Catmull-Clark subdivision now render using subdivision in RealityKit. Meshes which produce less than 35,000 patches can render using subdivision. This can increase memory consumption and reduce rendering performance. (129016034)

What's new in USD and MaterialX briefly touches on this around 3:55.

If you'd like us to consider adding a new API to enable general subdivision surface for all meshes, please file an enhancement request using Feedback Assistant. Once you file the request, please post the FB number here.

If you're not familiar with how to file enhancement requests, take a look at Bug Reporting: How and Why?.

I'm wondering the same thing. It would be great if generateSphere would make use of surface subdivision, dynamically adjusting depending on the distance to the camera... but there is nothing in the documentation that tells us what "subdivision surface" actually means for RealityKit 4.

In that slide, "Subdivision surface" refers to added support for subdivision surface in USD files and is not referring to a new API to enable general subdivision surface for all meshes. From the release notes:

USD files which use Catmull-Clark subdivision now render using subdivision in RealityKit. Meshes which produce less than 35,000 patches can render using subdivision. This can increase memory consumption and reduce rendering performance. (129016034)

What's new in USD and MaterialX briefly touches on this around 3:55.

If you'd like us to consider adding a new API to enable general subdivision surface for all meshes, please file an enhancement request using Feedback Assistant. Once you file the request, please post the FB number here.

If you're not familiar with how to file enhancement requests, take a look at Bug Reporting: How and Why?.

Thanks a lot for the clarification!

I filed the suggestion FB14412282 "API for mesh LOD / to enable general subdivision surface for meshes".

RealityKit Subdivide
 
 
Q