Overview#

The Fabric Scene Delegate Goal#

The “Fabric Scene Delegate” (FSD) is the next-generation Omniverse scene delegate for Hydra. It leverages the power and performance of Fabric for a faster, more flexible, streamlined rendering pipeline. It is a feature-complete Hydra 1.0 scene delegate that supports all standard rendering features of USD.

As you might expect, Fabric Scene Delegate uses Fabric as its data source for all rendering operations. This is an exciting development, because it opens up the possibility of authoring renderable data directly to Fabric for use cases where USD data persistence is not required.

The Fabric Scene Delegate is meant to replace Pixar’s UsdImaging and NVIDIA’s OmniHydra plugins, as their implementations can be conflicting (an example is that Scene Delegates are meant to read from multiple different scene data sources, but we have a few cases where both UsdImaging and OmniHydra read from USD) and we have chosen to use Fabric as our main runtime data source, see diagram below: Previous Architecture

The main drawback of the previous design is that we relied on USD for most of our runtime, and only supported reading some data from Fabric (mostly used in DriveSim and deformation GPU Interop use cases).

Some of the goals of the new Fabric Scene Delegate are:

  • Use Fabric as the single source of truth to populate Hydra

  • Rely on Fabric’s vectorized data to speed up Hydra population

  • Allow simulation and animation extensions to send a large amount of scene changes to the renderer directly via Fabric

  • Provide an optimized USD→Fabric population plugin (this part is in a separate plugin from the Scene Delegate)

  • Utilize UJITSO (Universal Just In Time Scene Optimization) to speed up Hydra population via caching

New Architecture#

New Architecture

The new architecture establishes Fabric as the central runtime data store, with optimized USD→Fabric population and direct Hydra population from Fabric data.

Compatibility#

The Fabric Scene Delegate is compatible with all key extensions of Omniverse, including Animation, Physics, and OmniGraph.