NVIDIA Omniverse™ Platform
NVIDIA Omniverse™ Platform
NVIDIA Omniverse is a powerful, multi-GPU, real-time simulation and collaboration platform for 3D production pipelines based on Pixar's Universal Scene Description and NVIDIA RTX™.
Omniverse aims for universal interoperability across different applications and 3D ecosystem vendors. It provides efficient real-time scene updates and is based on open-standards and protocols. The Omniverse Platform is designed to act as a hub, enabling new capabilities to be exposed as micro-services to any connected clients and applications.
Open Beta Apply for developer
Live collaboration between 3D applications and users
Collaborate live between your favorite applications using USD and MDL.
Real-time multi-GPU Ray Traced Viewport
Enable real-time high quality multi-GPU ray tracing and path tracing on USD content.
High performance simulation of complex 3D physical worlds leveraging the latest in NVIDIA technology.
Omniverse consists of 5 key components: Omniverse Connect, Nucleus, Kit, Simulation and RTX. These components along with connected third party digital content creation (DCC) tools and additional connected Omniverse microservices make up the full Omniverse ecosystem.
It all starts with a universal format
The fundamental representation of assets in Omniverse is Pixar’s open-source Universal Scene Description (USD). USD is much more than a file format, it is a rich scene representation with an API that enables complex property inheritance, instancing, layering, lazy loading and a wide variety of other key features. Omniverse uses USD for interchange through the Nucleus DB service.
Materials in Omniverse are represented by NVIDIA’s open-source MDL (Material Definition Language). NVIDIA has developed a custom schema in USD to represent material assignments and parameters allowing for easy interchange between different application-specific material definitions. This standard definition enables materials to look similar if not identical across multiple applications.
At the center of it all the Omniverse Nucleus
Omniverse Nucleus offers a set of fundamental services that enables a variety of client applications, renderers, and microservices to share and modify representations of virtual worlds.
Nucleus operates under a publish/subscribe model. Subject to access controls, Omniverse clients can publish modifications to digital assets and virtual worlds to the Nucleus Database (DB) or subscribe to their changes. Changes are transmitted in real-time between connected applications. Digital assets can include geometry, lights, materials, textures and other data that describe virtual worlds and their evolution through time.
Connectors open portals between apps
Omniverse Connect libraries are distributed as plugins that enable client applications to connect to Nucleus and to publish and subscribe to individual assets and full worlds.
With any needed synchronization in place, a DCC plugin will use the Omniverse Connect libraries to apply externally received updates and publish internally generated changes as necessary.
As the application makes changes to its USD representation of the scene, Omniverse Connect keeps track of all the local changes since the last publishing event. When requested by the application, the Omniverse Connect libraries will construct a file-by-file set of differences and publish them to Nucleus where they will then be forwarded to all subscribers.
The Omniverse Pipeline
On the left we can see many popular DCC applications as well as new ones created specifically for Omniverse using Kit. These applications are all capable of exporting to the USD file format and have support for MDL materials. Using Omniverse Connector plugins, Omniverse portals are created between these apps and the Nucleus Database.
The Nucleus server can also provide Omniverse functionality as headless micro-services as well as provide beautifully rendered results to a multitude of visualization clients including VR and AR devices.
Create your own apps with Omniverse Kit
Instead of being a monolithic application, Kit is made of Extensions, these Extensions are building blocks that you can assemble in many ways to create different types of Applications. At the high level, all UI elements, workflow and general features are written in Python making them extremely customizable.
Omniverse Kit is a toolkit for building native Omniverse applications and microservices. It is built on a base framework that provides a wide variety of functionality through a set of light-weight extensions. These stand-alone extensions are plugins that are authored in Python or C++.
Kit is designed to be a flexible and extensible development platform for both Apps and Microservices.. It can be run headless to create a microservice, or with a UI. The UI application can be fully written using the UI engine which enables it to be fully customized.
For better performance or to access some c++ APIs, lower level c++ plugins can be added to those extensions and can be connected to the UI through binding. These extensions include the icons, images and configuration they need to run individually
Omniverse Kit Extensions
RTX Viewport Extensions
Leverage NVIDIA RTX and MDL materials to represent your data with incredible fidelity. It’s immensely scalable, supporting large arrays of GPUs and provides real-time interactivity even on large scenes and provides accuracy through ray tracing and path tracing options.
Browse files on your local or remote Omniverse Nucleus Servers, organize your data and find the file you want to work or collaborate on. It includes a rich set of APIs enabling you to automate tasks and processes like using DeepTag to use AI to assign metadata classifications enabling entirely new ways to search through your assets.
The Stage Window Extension can be used to build a robust browsing experience of your Stage Data, the Stage Window contains all the information on the objects in the scene and enable you to manipulate them.
The Property Window provides you access to all the object attributes and various other information contained in the USD file. It is also fully extendable, with each section seen inside it spawning from dedicated extensions for each type of primitive in your scene.
Finally the Layer Window gives you access to the powerful layering system provided by USD allowing for rich composition, this is also leveraged to provide Omniverse features around layer access management and live collaboration.
In order to provide a highly responsive hardware-accelerate UI, that would be lightweight and open, the Omniverse framework is built on top of the Dear ImGui library.
- Modern, fast and lightweight UI framework
- Foundation of the Omniverse Kit user interfaces
- Declarative syntax and dynamic layouts
- Fully styleable similar to HTML using "stylesheet-like” workflow
- Support for Omni UI streaming for lossless UI quality
- Support for XR (VR & AR) rendering (3D projection of the widgets)
- including XR inputs devices (Controllers, Hands, Eyes)
Ultimately all that you see in Create (the sample application included with Omniverse), View (the main application built for the AEC experience) and other omniverse Apps comes from Extensions, they are the atomic building blocks of the Omniverse Apps. The catalog of extensions will quickly grow as they are primarily written in Python and they are offered with complete source code to help developers easily create, add and modify the tools and workflows they need to be productive.
Simulation in Omniverse is provided by a collection of NVIDIA technologies as plug-ins or microservices to Omniverse Kit.
One of the first simulation tools to be distributed as part of Omniverse is NVIDIA’s open-source physical simulator PhysX, widely used in computer games. The objects that participate in the simulation, their properties, any constraints, and any solver parameters are specified in a custom USD schema. Kit provides features for editing the simulation set-up, starting and stopping it, and adjusting all the parameters.
Omniverse physics currently includes Rigid Body Dynamics, Destruction and Fracture, Vehicle Dynamics and Fluid Dynamics (Flow). Flow is an Eulerian fluid simulation for smoke/fire, leveraging a sparse voxel grid for unbounded simulation domain.
Visualize and Render Breathtaking Worlds
Omniverse supports renderers compliant with Pixar’s Hydra architecture, one of which is the new Omniverse RTX Renderer that fully exploits hardware RT cores in NVIDIA Turing and Ampere architectures to do real-time hardware-accelerated ray tracing and path-tracing.
The renderer does not rasterize before ray-tracing, which allows for very large scenes to be handled in real-time. It has two modes: traditional ray tracing for fast performance and path tracing for the highest quality results.
The Omniverse RTX Renderer natively supports multiple GPUs in a single system and will soon support interactive rendering across multiple systems.
NVIDIA Omniverse can now connect to numerous content creation applications and NVIDIA has created Apps to showcase its capabilities in different workflows.
Apps are built using Omniverse Kit and although quite useful on their own, they can serve as a starting point for developers to build-upon and extend or create their own. These Apps can serve as examples to technical artists and developers and will continually be gaining new features and capabilities.
Looking to evaluate the Omniverse platform?Apply for early access