Q&A: OmniverseXR

Hi!
I was just doing a short review on NV Omniverse to see its usability for my project. If I am allowed to ask some questions (real-time ray tracing is my concern):

  1. I found, omniverse is using Python as a programming language. But what about C++? Can we use C++ as a programming language instead of Python?

  2. Can I use any thirdparty C++ library as normally used in rendering APIs, e.g., D3D12, VKR, OpenGL, OptiX?

  3. How the shading works in Omniverse? NV’s other SDK, OptiX uses CUDA for shading (Programming)? What shading language Omniverse using?

  4. CloudXR works maninly for online streaming for VR. This post however shows OmniverseXR can be used for real-time rendering from computer to VR headsets, e.g., pimax/Vive. If I am using Vive VR, with steamvr runtime, can I visualize my rendered result from machine to Vive headset through OmniverseXR?

Helloo @_Bi2022! Thank you for reaching out! I have notified the dev team of this post so that we can help you get your questions answered!

1 Like

Hi @_Bi2022 , Questions 1-3 aren’t specific to XR, so I recommend you ask them in the Omniverse Kit forums.

As for Question 4:

If I am using Vive VR, with steamvr runtime, can I visualize my rendered result from machine to Vive headset through OmniverseXR?

Using Omniverse XR to power a Vive headset through SteamVR is definitely possible.

Hi @_Bi2022. For 1), a C++ SDK may come in the future, but the current focus is a Python-first experience. Today, you can develop and build a C++ library with Python bindings and call that from your Python extension when needed. That’s very common in Omniverse’s built-in extensions.

I’m reaching out to another dev team to give a more complete answer that I can for your last two questions.

1 Like

Thank you @mati-nvidia , I have now a good understanding of Omniverse.

Just regarding the shader language part, please correct me if I am wrong: currently Omniverse is using both HLSL and MDL. However, this post says SLANG is only now supported by Linux, and GLSL will be used soon.

Hi @_Bi2022
Materials in Omniverse are written in MDL. Material Definition Language from NVIDIA

1 Like

MDL seems to me very significant to learn, OptiX is also using MDL.

OptiX is also using MDL

Not really.
OptiX is a general purpose GPU ray casting SDK and that is not “using” MDL at all.
But you could of course use the OptiX SDK to implement an MDL-capable renderer. I’ve presented my approach at GTC 2016.
The MDL SDK contains an example using OptiX.

1 Like