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):
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?
Can I use any thirdparty C++ library as normally used in rendering APIs, e.g., D3D12, VKR, OpenGL, OptiX?
How the shading works in Omniverse? NV’s other SDK, OptiX uses CUDA for shading (Programming)? What shading language Omniverse using?
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?
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.
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.
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.