Setting Up and Configuring for Omniverse on DGX Cloud#
Deploying the Point Cloud Extensions requires several tasks beyond the standard Kit App development workflow. See Developing for Omniverse on DGX Cloud for the standard workflow. The sections below describe the high-level steps.
Configuring Streaming Extensions for Point Cloud Services#
The Point Cloud Extensions bundle requires the DGX Cloud streaming layers as defined in the Kit App Template ovc_stream.kit configuration. These layers include the core livestream extensions for NVIDIA Cloud Functions (NVCF)
deployment:
omni.services.livestream.nvcf— cloud streaming functionalityomni.kit.streamsdk.plugins— WebRTC communication
Apply the streaming extensions to your Kit base application so client-server communication routes through the Omniverse on DGX Cloud infrastructure. If you start from the Kit App Template (KAT), these extensions are available as standard streaming layers. See the reference streaming configuration.
Containerizing the Kit App and Uploading to NGC#
Build the Point Cloud Extensions container using the standard Kit App Template workflow. See the Omniverse Containerization Guide for details.
On Linux, run the packaging command that the repo tooling provides:
./repo.sh package --container
When prompted, select the Kit application that contains the streaming layers so the DGX Cloud-specific configuration is included. The containerization process produces a fat package with all Point Cloud extensions and dependencies, then builds a Docker image ready for deployment.
After building the image, follow the NGC workflow to authenticate with your personal API key, tag the container with your NGC organization details, and push it to the NGC Private Registry. See the deployment guide for full instructions on obtaining NGC credentials and verifying the registry upload.
Creating a Streaming Function on NVCF#
Create a streaming function on NVCF using the instructions in the NVIDIA Cloud Function Creation guide.
Append any required Kit arguments to the function configuration using the NVDA_KIT_ARGS format. Use the --/exts/<extension_name>/<setting>=<value> syntax to set extension-specific options at runtime.
Streaming DGX Cloud Functions and Portal Integration#
After creating the DGX Cloud function that hosts your Point Cloud Extension Kit app, follow the application publishing guide to make the function available in the Portal Sample (NVIDIA’s reference client application for streaming Kit-based apps).
To support third-party authentication flows (for example, NavVis IVION), the Portal Sample must implement custom message handling in the web portal. Implement the handler in the onCustomEvent callback inside web/src/hooks/useStream.ts of the Portal Sample.
The event handler must support the following events to enable NavVis IVION flows:
omni.pointcloud.potree2@open_url— Opens NavVis IVION authentication pages in new browser tabsomni.pointcloud.potree2@store_dataandomni.pointcloud.potree2@get_data— Manages authentication tokens in local storageomni.pointcloud.potree2@ping— Verifies connectivity between Kit and the portal
See the example Portal Sample implementation for NavVis IVION at the end of this guide. The public upstream version of the portal hook is available at useStream.ts on GitHub.