CPU/XPU differences with MtlX Standard Surface

   3809   9   3
User Avatar
Member
710 posts
Joined: July 2005
Online
Hello all,
I'm doing some Karma tests with MaterialX shaders and I'm finding a couple of issues with MtlX Standard Surface, specifically differences between CPU and XPU. A scene file is attached if anyone wants to poke around (hit Save to Disk on USD ROP if displaying the Sublayer node).

Edge darkening in XPU:
In XPU mode I'm seeing very pronounced edge darkening. Is this a bug, current limitation, or the permanent state of things with XPU?


Shading in CPU Albedo AOV:
In CPU mode, it appears like the albedo channel has some kind of shading going on, whereas XPU gives the expected result. Once again this is with MtlX Standard Surface. Bug? The principled shader in CPU mode looks fine.


And a couple of other questions for anyone who may have the answer:
Will XPU eventually support the BSDF nodes?
Will XPU support diffuse roughness models (Oren-Nayar etc)?

Thanks

Attachments:
edge_darkening_cpu.jpg (157.0 KB)
edge_darkening_xpu.jpg (170.6 KB)
karma_cpu_albedo.jpg (127.5 KB)
karma_xpu_albedo.jpg (57.8 KB)
cornell_karma.zip (375.7 KB)

User Avatar
Staff
418 posts
Joined: Sept. 2016
Offline
Hi. The darkening with XPU is a known issue and under investigation.
The issue you're seeing with CPU is due to the export name being incorrect in your file: it should be "export_basecolor", not "albedo". The export name must match the Source Name parameter on the RenderVar (please see https://www.sidefx.com/docs/houdini19.0/nodes/vop/mtlxhaov.html [www.sidefx.com] or the tooltip for more). In the absence of this export, karma falls back to diffuse BSDF albedo for albedo AOV, which is what you're getting.
User Avatar
Member
710 posts
Joined: July 2005
Online
Hi dlee, thank you for explaining. I wasn't really aware of what a BSDF albedo is or looks like. It appears Mtlx Standard Surface doesn't export a traditional albedo channel then (in CPU mode?), as I still get the same result with export_basecolor, or when taking Mtlx AOV out of the equation and comparing Principled and Standard Surface with the Albedo checkbox under Karma LOP Render Vars.

Nevermind, user error! It works as expected with Mtlx AOV and export_basecolor.
Edited by Siavash Tehrani - Nov. 6, 2021 13:02:08
User Avatar
Member
3 posts
Joined: Feb. 2020
Offline
Yes I also see this defect rendering through XPU simple shader looks darker. It's as if the shading is by the Freenel method.

Attachments:
GIF 11-13-2021 3-39-37 PM.gif (1.5 MB)

User Avatar
Member
8 posts
Joined: July 2018
Offline
Here's another example. The green surface is just a grid with a sweep and there is just a single environment light for lighting. Seems like the light bounces aren't happening properly?

Attachments:
cpu-gpu-lighting.gif (897.8 KB)

User Avatar
Staff
467 posts
Joined: May 2019
Offline
Hi

19.0.456 contains code which should fix the issue where rough surfaces would appear too dark in XPU.
Please give it a go.
I'm hoping this will fix the issues you've posted in this thread, but if not is it possible to post a simple repro scene and I could investigate further.

thanks very much
Brian
User Avatar
Member
710 posts
Joined: July 2005
Online
brians
Hi

19.0.456 contains code which should fix the issue where rough surfaces would appear too dark in XPU.
Please give it a go.
I'm hoping this will fix the issues you've posted in this thread, but if not is it possible to post a simple repro scene and I could investigate further.

thanks very much
Brian

It looks like the new build takes care of the problem. Nice!

Attachments:
cornell_karma_xpu.jpg (175.7 KB)

User Avatar
Member
620 posts
Joined: Nov. 2013
Offline
brians
Hi

19.0.456 contains code which should fix the issue where rough surfaces would appear too dark in XPU.
Please give it a go.
I'm hoping this will fix the issues you've posted in this thread, but if not is it possible to post a simple repro scene and I could investigate further.

thanks very much
Brian


CPU is darker than XPU in my testing in H19.459.

In materialx standard surface, set metalness=1, specular roughness = 0.8, other = default
Edited by jerry7 - Dec. 5, 2021 22:45:10

Attachments:
xpu.png (537.0 KB)
cpu.png (602.1 KB)

User Avatar
Member
3 posts
Joined: Jan. 2023
Offline
Hi

I am wondering if there is a fix for this issue.

I'm also doing some Karma tests with MaterialX shaders and I get the same issues. The XPU render is darker than the CPU.

I used the Houdini 19.5.569

At first, I thought it was my roughness map. But the map is a EXR set in float. I also checked the name of the map, the light(hdri), I hide the backdrop thinking maybe the reflection of the environment doesn't works in XPU, etc,

Whatever I do even with a MtlX Standard Surface without any maps connected to it the issues appear.

The blue render is just the difference  between CPU and XPU with a basic materialX and the other one is the AOV(combined glossy reflection)

Attachments:
05.gif (259.6 KB)
04.gif (530.5 KB)

User Avatar
Staff
467 posts
Joined: May 2019
Offline
Tukifri
The XPU render is darker than the CPU.
I used the Houdini 19.5.569

This is fixed in H20
Edited by brians - March 14, 2024 05:08:37
  • Quick Links