I feel like I’m still not understanding the issue preventing this. What I know is
a) required functionality is in the standard shader and works with
NodeMaterial builds upon existing shaders, e.g.
PerturbNormal block activates
BUMP define to do its work
I hope this is a correct assumption. In
PBRMaterial parallax occlusion is activated by two
PARALLAXOCCLUSION. There is a lot of
uniform preparation and other stuff, but at its core, the functionality is in the shader, right? Why can’t it be re-used in
NodeMaterial? You mention reading multiple times from the normal map, isn’t this part implemented in the shader? If not, why can’t it be replicated in
NodeMaterial? And last but not least, why would implementing a
PerturbNormalWithParallax node as a stop-gap solution be overkill if it would provide a hacky but working solution to an otherwise unsolvable problem?
I’m sorry for all the questions, but I’m trying to understand the problem while lacking much of the ground-work, which I’m picking up not nearly fast enough.
PS. We need this functionality and we are intending to provide a PR, but need to understand both the problem and reservations about implementation possibilities fully, to make it easier. Not looking for free lunches, Babylon.js is a huge free lunch already