Can Omniverse mix multiple textures in one object?


Please tell me: Can Omniverse mix several textures/materials in one object and displacment it according to the texture height map?

Didn’t find anything in the documentation. ChatGPT doesn’t know anything about this either.
Either Omniverse can’t do this or nvidia developers are carefully hiding it :)

Hi @ramylebo1981,

If what you mean was having different material on one object like a multisub in 3dsmax, it is possible , just have to set it up that way before you export, else there is some mixing you can do inside their mdl graph or even use substance to do it.

AFAIK displacement map have not yet be implemented yet (in the work the last I heard), normal map is the way to go for now.

I don’t want to bake it and export it from another application. I’m wondering how this is done directly in Omniverse

Hi there. Thanks for the questions.
Firstly, there is no displacement, and there is none planned as of yet.
Secondly, the good news is we do offer a Blend Node, that can do a linear blend beteeen materials as well as a use a third texture for mixed masked materials.

Thanks for your reply.
I meant, like this kind of mixing, using Blender as an example:

But, if Omniverse does not support displacement maps, then if I understand correctly, then I will not be able to do the same thing as in Blender.

Displacement no, but Blending using the Blend Node, yes

What does this “add-displacement” function do or what should it do?

Well as it suggests it does add displacement. And the USD and MDL framework supports displacement. But the RTX rendering engines do not. So just to be clear it’s not USD. It’s not MDL. It’s not even USD composer. It’s just the current RTX renderers. You can load your own Hydra Rendering engine that supports displacement, and load it into USD Composer and use it.

It seems clear, but at first glance a paradoxical situation arises:

-Omniverse supports USD.
-Omniverse supports its own MDL material format.
-The Omniverse RTX Renderer is a physically-based real-time ray-tracing renderer built on NVIDIA’s RTX technology, USD, and NVIDIA’s MDL.
-With these render modes it enables a variety of workflows NOT POSSIBLE BEFORE, and it provides a REFERENCE rendering solution for USD-based content in Omniverse leveraging the power of NVIDIA GPUs with RTX.
-USD and MDL framework supports displacement!

And now Attention: “But the RTX rendering engines do not!” (с)

That is, Nvidia claims two mutually exclusive factors:
-Nvidia RTX supports USD and MDL
-and and it provides a REFERENCE rendering solution,
-USD and MDL support Displacement,
-BUT RTX rendering engines do not support Displacement.

I’ll tell you this - a contradiction :)

No it is just a missing feature at the moment. We fully support openusd standards. But RTX is OUR rendering engine. You are free to use any other rendering engine you wish. Pixar’s Stormfor example. So again fully supporting an OPEN standard, and having your own feature set in your own rendering engine are very different. I hope this closes this line of enquiry.

I’ve been programming for more than 10 years, and I’m used to everything being clear, otherwise the compiler will immediately report an error ;)

Are you deliberately ignoring a simple and obvious fact? :)

HERE IS Nvidia’S STATEMENT: Omniverse RTX Renderer — Omniverse Materials and Rendering latest documentation

Does this statement say anything about other render engines? Answer: no.
So Why do you constantly write about other render engines??

I quote:

“The NVIDIA Omniverse RTX™ Renderer is a scalable photo-real renderer leading the convergence of real-time and offline rendering to simulate the world.” (With)

“Built for NVIDIA RTX GPUs ON STANDARDS such as USD and NVIDIA MDL, for the Windows and Linux operating systems” (c)

Do USD support dispalcement? Answer: yes support.
Does the NVIDIA Omniverse RTX™ Renderer support dispalcement? Answer: not support.

Nvidia is lying that Built for The NVIDIA Omniverse RTX™ Renderer GPUs ON STANDARDS such as USD? Answer: Nvidia is lying.

What is the problem ?

I am not sure you understand the concept of open standards. Just because our renderer is lacking one feature that is supported in the larger context of open standards, does not mean we are lying about anything. So if the usd standard is 100% of features, and we only support 78% currently, we are still making sure on those features, we are in openusd compliance. We can only be contridicting ourselves if we stated that our renderer supported a feature, that it does not. We have not done that. We have never said we support displacement.

Both those statements are 100% true and accurate. We are built on standards for usd and mdl. But that does not mean we have to support all features in an open standard. The same way that a house does not have to have every single feature of a stucture under a building code. We are in compliance with the features we supply. We do not supply them all.

I think I have answered your questions. I am sorry about displacement. I feel we can move on now.