Add Water MDL to scene and it doesn't show in Path Trace

Hi Yah, First play with Omniverse Create and find that on a test scene the RTX-Real Time shows the standard water MDL, okay, and the RTX-Accurate shows the water material as expected but when I view the scene with RTX-Interactive the water MDL shows as black. I’ve tried turning up the Max Specular & Transmission Bounces but that doesn’t help even cranking it to the max. Is there anything I’m missing or is this a bug? I’ve attached some screenshots. Thanks in advance :)

As a new user, I can only add one embedded image so have shown the Path Trace result and I can only send one log file, so which log file would you like me to send through?

@thedesigncentre

A few things to check , the water mesh itself cannot be single side for it to look right in RTX-interactive. If the water mesh itself is too close to the underlying ground you may need to turn off cast shadows ,else you may get a black reflection due to the shadows.

Take a look at the screenshot below, same material on a one side plane and a double sided plane. The only way you could make the single sided plane work is to make water scattering 0 but some control like color of water and absorption is lost , so recommended to actually give the water mesh real volume mesh for the water to look right .

Hi Yah David, Thanks for the reply :)

The water is applied to a cube as the model has a slope for the water so wanted to keep the “depth” feel at the deeper end. What I did was add another cube and applied the water MDL and in interactive it looked okay. Checked to see what the difference was between the original cube and the second one, the second didn’t have double or single-sided checked in the visual settings, so I changed that on the original. Weird as I can’t remember changing any of those settings prior and if it didn’t work in Path Trace surely it wouldn’t have worked in Iray.

What I did was also activate the Extra Properties primvars:isVolume on the cube and the water material became even better looking, more translucent if that makes sense…looked perfect in Realtime, and looked even better in iRay BUT in Path Trace it suddenly went black again. I deactivated that variable and the water came back again. May be a bug with that variable in Path Trace?

Might be, I notice many variables for prim do not actually work like single/double sides etc. so wouldn’t be surprise some settings do not work or sometimes could be the max bounces/transmission bounces ain’t enough for it to light up the water/glass . Have to test it out, and if you more or less confirm a bug could let the omniverse team know and they could fix it for future releases.

I’ll have a bit more of a play with some other scenes, I thought I’d try out Create as I’m having issues with water materials/reflections with D5 and also Twinmotion. Unreal Engine 5 the same issues as I’m seeing with Twinmotion :(

Thanks for your time, I’ll get in touch with Omniverse Dev team

Hi @thedesigncentre did you disable cast shadows on the cube? With it enabled then the water will be quite dark. I just did a simple test with and without shadows disabled, images attached. If you’re not seeing similar behaviour could you send us a small reproduction scene we can take a look at please?

Cube shadows enabled:

Cube shadows disabled:

Hi Yah Alan,

Yep and I can confirm that when I change the setting on the cube to include the Extra Properties primvars:isVolume the water material changes black in Interactive mode, the other two the water is fine.

Scene attached
Alameda de Cervera Bridge.zip (8.5 MB)

OK so I took a look at your scene (thanks for that!), and I think the issue is because you’re using a cube shape primitive for the water instead of a cube mesh. I’ll need to dig into that further, but here’s a comparison of using your original prim against a cube mesh, both with the vMaterials Water_Ocean_Light_Blue on. These are all with cast shadows and primvar:isVolume off (the latter is for heterogeneous volumes).

TL;DR - use the mesh primitives rather than the shape primitives.

Realtime, Cube shape:

Interactive, Cube shape:

Realtime, Cube mesh:

Interactive, Cube mesh:

Thanks for that, have changed out the cube shape for a cube mesh and run a couple of test renders and looks fine. I do need to get an eGPU though as I’m finding with my MSI laptop i7 Stealth (Nvidia GeForce 2070 Max-Q 8Gb + Intel shared 16Gb GPU Memory) 32Gb Ram it’s struggling with the iRay renderer, the Real-Time render is fine though a wee bit laggy.