Mesh disappears in HoudiniGL w/ MtlX shader and displacement

   2079   10   0
User Avatar
Member
82 posts
Joined: June 2020
Offline
I have a simple material which is just a mtlxStandardSurface inside a subnet. It displays fine in HoudiniGL. As soon as I plug anything into the mtlxdisplacement node, any mesh with this shader assigned disappears from HoudiniGL but still renders in Karma.
Is there some step/setting/workflow I'm missing to make this work? I don't need to see the displacement in the viewport, I just want to see the geo!

or does this sound like a bug?
User Avatar
Member
1629 posts
Joined: March 2009
Offline
You're not alone, I'm seeing this, too.

The thing is, I have not been able to reproduce it with a simple example, I've only seen it happen on production scenes.
My (personal, unfounded) theory is this happens when vram is scarce.
Martin Winkler
money man at Alarmstart Germany
User Avatar
Member
7802 posts
Joined: Sept. 2011
Offline
protozoan
You're not alone, I'm seeing this, too.

The thing is, I have not been able to reproduce it with a simple example, I've only seen it happen on production scenes.
My (personal, unfounded) theory is this happens when vram is scarce.

My theory is that it occurs when an unsupported node is used in the displacement shader.
User Avatar
Member
1629 posts
Joined: March 2009
Offline
jsmack
My theory is that it occurs when an unsupported node is used in the displacement shader.

I have a case where only mtlx standard surface, mtlx image, mtlx displacement and collect are present, another one with an additional mtlx separate 3.

The typical rogue oldschool multiply sneaking in or something can be ruled out.
Martin Winkler
money man at Alarmstart Germany
User Avatar
Staff
5161 posts
Joined: July 2005
Offline
If there is an unsupported MatX node in a material, it'll be reported as a warning in the Viewport Info popup at the bottom of the right toolbar. When this happens, that particular branch is ignored and the parameter value on the node just after the unsupported node is used instead.
User Avatar
Member
7802 posts
Joined: Sept. 2011
Offline
malexander
If there is an unsupported MatX node in a material, it'll be reported as a warning in the Viewport Info popup at the bottom of the right toolbar. When this happens, that particular branch is ignored and the parameter value on the node just after the unsupported node is used instead.

which makes sense to cause a mesh to disappear with displacement. An errant default slipped in somewhere could easily cause the displacement amount to be giant and outside the bounds. (Although in testing reducing displace scale to 0 doesn't help, so it might be something else) I haven't gotten mtlx displace shaders to work since before gold.
User Avatar
Staff
5161 posts
Joined: July 2005
Offline
jsmack
malexander
If there is an unsupported MatX node in a material, it'll be reported as a warning in the Viewport Info popup at the bottom of the right toolbar. When this happens, that particular branch is ignored and the parameter value on the node just after the unsupported node is used instead.

which makes sense to cause a mesh to disappear with displacement. An errant default slipped in somewhere could easily cause the displacement amount to be giant and outside the bounds. (Although in testing reducing displace scale to 0 doesn't help, so it might be something else) I haven't gotten mtlx displace shaders to work since before gold.

Yeah, it might make more sense to just avoid the displacement shader altogether when unsupported nodes are found, given the potential severity of showing the displacement incorrectly.
User Avatar
Member
82 posts
Joined: June 2020
Offline
Thanks for all the responses. I'm not seeing any errors about unsupported nodes but it turns out it might actually be related to udims. When I replace the <UDIM> token in my texture path with 1001 for example, the mesh shows up again in the viewport with displacement. (except now the mesh permanently has a wireframe drawn over it and I can't turn off displacement in the material options...sigh)


Obviously this doesn't solve the problem anyways since I need to use udims but at least it's narrowed the issue down.

I guess that makes sense why all the parts of my mesh that are sourcing textures greater than 1001 are showing as black.

Guess I'll just use that env var to turn off materialx in HoudiniGL.
Edited by freshbaked - Aug. 29, 2022 16:12:22
User Avatar
Member
1629 posts
Joined: March 2009
Offline
Interestingly, the scenes I had the problems with also both share the fact that UDIM tokens are used on the mtlx image inputs.

The plot thickens..

Edit: Yeah, reproduced and filed as BUG #123838
Edited by protozoan - Aug. 31, 2022 07:57:33
Martin Winkler
money man at Alarmstart Germany
User Avatar
Member
1629 posts
Joined: March 2009
Offline
This has been fixed in the upcoming 19.5.366 daily build.
Martin Winkler
money man at Alarmstart Germany
User Avatar
Member
82 posts
Joined: June 2020
Offline
Hey cool! Thanks for the update and reporting the issue!
  • Quick Links