Mesh disappears in HoudiniGL w/ MtlX shader and displacement

   3470   10   0
User Avatar
Member
153 posts
Joined: 6月 2020
オフライン
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
1836 posts
Joined: 3月 2009
オフライン
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
User Avatar
Member
8177 posts
Joined: 9月 2011
オフライン
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
1836 posts
Joined: 3月 2009
オフライン
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
User Avatar
スタッフ
5287 posts
Joined: 7月 2005
オフライン
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
8177 posts
Joined: 9月 2011
オフライン
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
スタッフ
5287 posts
Joined: 7月 2005
オフライン
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
153 posts
Joined: 6月 2020
オフライン
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 - 2022年8月29日 16:12:22
User Avatar
Member
1836 posts
Joined: 3月 2009
オフライン
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 - 2022年8月31日 07:57:33
Martin Winkler
User Avatar
Member
1836 posts
Joined: 3月 2009
オフライン
This has been fixed in the upcoming 19.5.366 daily build.
Martin Winkler
User Avatar
Member
153 posts
Joined: 6月 2020
オフライン
Hey cool! Thanks for the update and reporting the issue!
  • Quick Links