Page 1 of 1

LightWave Compound node: Cannot rename material outputs

PostPosted: Fri Jul 26, 2019 11:46 pm
by scooternva
After much loss of hair (from pulling it out trying to nail down this problem), I have figured out that there is a bug in OctaneRender's support for LightWave "Compound" nodes: you cannot rename the outputs for materials, or OctaneRender ignores them.

(EDITED TO ADD: I just discovered that you cannot rename the inputs to Compound nodes either, if they are OctaneRender materials. But frankly, I'm exhausted from figuring out the output problem and writing this up; you'll just have to take my word for it: you can't rename inputs OR outputs on LightWave Compound nodes if the inputs or outputs are OctaneRender materials.)

Below are screenshots that illustrate the problem. What you see below is a simple model with a flat green base material ("Principled BSDF" for LightWave, "Diffuse Material" for OctaneRender). The models use edge shading ("EdgeShader" for LightWave materials; "Dirt Texture" for OctaneRender materials) to show "dirt" and "worn edges". For ease of viewing, I've made the "dirt" blue and the "worn edges" red (and again, using "Principled BSDF" and "Diffuse Material" for LightWave and OctaneRender respectively).

The edge shaders and the materials that comprise the edges and corners are placed in a standard LightWave "Compound" node so that they can be reused more easily across my model. (NOTE: The actual "Compound" nodes in my model are much more complex than this with several inputs that control how they work and many more nodes inside the "Compound" node; that's why it took a while to nail this problem down. I've cut down the example to the bare minimum to illustrate the bug at hand.)

Everything worked great in OctaneRender--at first. Then I started trying to reorganize the node names to make them easier to reuse, and all heck broke loose. Behold:

LightWave works with renamed output nodes.png
Here's a screenshot showing that a standard LightWave scene with standard LightWave materials works correctly when the outputs from the Compound node are renamed for ease of reuse. I'm including this here to show that this is not a LightWave limitation (or at least, this is not a LightWave limitation with *their* materials).

Octane works only if output nodes not renamed.png
In this screenshot, you can see the same model now surfaced with OctaneRender-equivalent textures and materials. And as you can see, putting the Octane textures and materials in the Compound node works... but ONLY because the outputs are not renamed.

Octane does not work with renamed output nodes from a Compound node.png
And here is the final screenshot, showing the bug: If you rename the material outputs from the Compound node to make them easier to read and reuse, OctaneRender ignores their output. The Dirt Texture nodes still work -- if they didn't, the edges and corners wouldn't be shaded at all. But the renamed material output nodes no longer work; they're ignored by OctaneRender, which is why the edges and corners in the model are now shaded a featureless gray.

I have attached a zip file to this post with the three example scenes and objects that demonstrate the problem.

Assuming that this is a bug in OctaneRender (and not a limitation of the LightWave SDK), it would be appreciated if this could be prioritized for a fix in the next release of OctaneRender. Not being able to rename the outputs from Compound nodes severely limits their usefulness when the nodes can emit more than one material. Thanks!

LightWave Compound Materials
Zip file with objects and scenes that demonstrate the LightWave Compound materials output node renaming bug.
(25.6 KiB) Downloaded 16 times

Re: LightWave Compound node: Cannot rename material outputs

PostPosted: Sat Jul 27, 2019 12:05 am
by scooternva
One quick additional question: I just saw the announcement for OctaneRender 2019.1 and the new "Composite" material. Is this a functional replacement for LightWave "Compound" nodes?