Point Cloud Streaming Bundle#

This bundle enables point cloud streaming of Potree2 data.

It loads the following extensions:

  • omni.kit.pointclouds

  • omni.pointcloud.content_browser

  • omni.pointcloud.potree2

  • omni.pointcloud.streaming.potree

  • omni.pointcloud.ui

Streaming Workflow from NavVis IVION#

The benefit of point cloud streaming, instead of importing, is the ability to handle extremely large datasets that are often too big to fit entirely within system memory. Streaming relies on converting the data into a Potree Level-of-Detail (LoD) structure, allowing points to be successively streamed. As you move closer to an object, the resolution dynamically becomes more defined. The following steps describe how to set up a streaming workflow from NavVis IVION:

  1. Ensure the bundle extension `omni.pointcloud.streaming.bundle´ is installed and activated. This extension is pulling all other extensions automatically.

  2. As soon as the extension has been activated on an on-prem (on premises) installation, a browser-based login window to the NavVis IVION platform is displayed.

  3. Alternatively, when you start Kit, a browser-login window is displayed, pointing to the configured URL.

    Note: The URL needs to be configured during implementation to point to your individual site at NavVis IVION.

  4. At the bottom of the login window choose “Use your NavVis IVION credentials to login” and enter your credentials.

    Note: When launching multiple streams in quick succession, the web browser’s popup blocker may prevent the NavVis login tab from appearing. Disabling the popup blocker for the DGX Cloud website and then clicking on “Retry” in Kit should fix this.

    When logging in to a partner page, make sure to accept all cookies in the browser window.

  5. After successful login, navigate to the Potree2 section in the Content browser.

    If login fails, select “Add New URL” in the content browser and confirm the URL to reconnect to NavVis IVION.

  6. Navigate to the folder you have access to with the point cloud data.

  7. You can drag and drop a single dataset into the default Prim in Stage. Drag and Drop also works with multiple datasets.

    A plus (+) symbol appears when the data is available. Every point cloud prim is available within an Xform in the Stage.

  8. Press ‘F’ to focus the point cloud in the viewport.

Enabling NavVis IVION authentication on DGX Cloud#

When Kit is running headless on DGX Cloud (OVC), authentication with a NavVis IVION server through the web browser must be enabled by changing the following setting to “true”:

--/exts/omni.pointcloud.potree2/livestream_client_auth=true

When disabled (the default), Kit will try to launch a web browser locally, which will not work in headless mode. When enabled, Kit will pass IVION authentication requests to the web browser handling the DGX Cloud session (the livestream client). The IVION login page will open in a new browser tab and the authentication process will continue normally. If no new tab is opened, check your browser’s popup blocker settings.

Optionally, Kit can display a confirmation dialog before starting IVION authentication, that is, before opening the new login tab. To trigger this behavior, change the following setting to “true”:

--/exts/omni.pointcloud.potree2/livestream_client_auth_confirmation=true

By default, IVION authentication must be repeated every time a new DGX Cloud session is started. Alternatively, IVION authentication data (refresh token) can optionally be stored in the web browser by changing the following setting to “true”:

--/exts/omni.pointcloud.potree2/livestream_client_auth_storage=true

When set to “true”, the system does not send an authentication request to the same IVION server until the authentication data expires. The expiration date is dependent on IVION server settings, where the default is seven days.

Note: IVION refresh tokens will be stored in the web browser’s local storage. You can shorten the time-to-expiration by setting the time-to-live in seconds. In the example shown below, the time-to-live is set to 10800 seconds, which is equivalent to three hours:

--/exts/omni.pointcloud.potree2/livestream_client_auth_storage_ttl=10800

The default value is 0. In this case, the server’s default value is used. The IVION authentication data that gets stored in the web browser can optionally be encrypted. To enable encryption, provide the path to a file containing at least 16 bytes of random data, which will be used as the basis of the encryption key:

--/exts/omni.pointcloud.potree2/livestream_client_auth_storage_secret_file=/secret-file

Typically, this file is mapped into the container using the “secrets” mechanism of the container platform. The IVION authentication data is then encrypted before sending it to the web browser for storage and decrypted after it is fetched from the web browser. This means the authentication data is not visible to the client as long as the file is kept secret. For improved security, a different secret file can be used for each user.