QuiltiX
QuiltiX copied to clipboard
Connections between nodes with multiple outputs ("multioutput") are not correctly handled
Issue
Separate and combine types and connections are improperly set / created
Environment
Tested with 0.4.1.
Test
If you create a separate node and then a combine node and connect the combine to a color3, the
- Separate node remains the incorrect type of "float" - which has no definition
- The input connections on the combine node do not specify which output to route to the combine. Perhaps this is a general "multioutput" issue?
Errors when the document get's validated.
Node interface doesn't support this output type: <separate3 name="Separate3" type="float" xpos="-7.002825605060728" ypos="2.48722845391956">
Mismatched types in port connection: <input name="base" type="float" value="1" nodegraph="NG_main" output="output_Combine3_out">
Could not find a nodedef for node 'Separate3'
Could not find a nodedef for node 'Separate3'
This is the resulting MaterialX file:
<?xml version="1.0"?>
<materialx version="1.38">
<nodegraph name="NG_main">
<separate3 name="Separate3" type="float" xpos="-7.002825605060728" ypos="2.48722845391956">
<input name="in" type="color3" value="0, 0.894118, 0.14902" />
</separate3>
<combine3 name="Combine3" type="color3" xpos="-4.030665817358112" ypos="2.0648689051407674">
<input name="in1" type="float" value="0" nodename="Separate3" />
<input name="in2" type="float" value="0" nodename="Separate3" />
<input name="in3" type="float" value="0" nodename="Separate3" />
</combine3>
<output name="output_Combine3_out" type="color3" nodename="Combine3" />
</nodegraph>
<surfacematerial name="USD_Default" type="material" xpos="3.6367873479362176" ypos="0.9333624596469625">
<input name="surfaceshader" type="surfaceshader" nodename="Standard_surface" />
</surfacematerial>
<standard_surface name="Standard_surface" type="surfaceshader" xpos="-1.3527374062034248" ypos="1.0335230787321623">
<input name="base" type="float" value="1" nodegraph="NG_main" output="output_Combine3_out" />
<input name="base_color" type="color3" value="0.8, 0.8, 0.8" />
<input name="diffuse_roughness" type="float" value="0" />
<input name="metalness" type="float" value="0.8" />
<input name="specular" type="float" value="1" />
<input name="specular_color" type="color3" value="1, 1, 1" />
<input name="specular_roughness" type="float" value="0.1" />
<input name="specular_IOR" type="float" value="1.5" />
<input name="specular_anisotropy" type="float" value="0" />
<input name="specular_rotation" type="float" value="0" />
<input name="transmission" type="float" value="0" />
<input name="transmission_color" type="color3" value="1, 1, 1" />
<input name="transmission_depth" type="float" value="0" />
<input name="transmission_scatter" type="color3" value="0, 0, 0" />
<input name="transmission_scatter_anisotropy" type="float" value="0" />
<input name="transmission_dispersion" type="float" value="0" />
<input name="transmission_extra_roughness" type="float" value="0" />
<input name="subsurface" type="float" value="0" />
<input name="subsurface_color" type="color3" value="1, 1, 1" />
<input name="subsurface_radius" type="color3" value="1, 1, 1" />
<input name="subsurface_scale" type="float" value="1" />
<input name="subsurface_anisotropy" type="float" value="0" />
<input name="sheen" type="float" value="0" />
<input name="sheen_color" type="color3" value="1, 1, 1" />
<input name="sheen_roughness" type="float" value="0.3" />
<input name="coat" type="float" value="1" />
<input name="coat_color" type="color3" value="0.6, 0.45, 1" />
<input name="coat_roughness" type="float" value="0.1" />
<input name="coat_anisotropy" type="float" value="0" />
<input name="coat_rotation" type="float" value="0" />
<input name="coat_IOR" type="float" value="2.5" />
<input name="coat_normal" type="vector3" value="0, 0, 0" />
<input name="coat_affect_color" type="float" value="0" />
<input name="coat_affect_roughness" type="float" value="0" />
<input name="thin_film_thickness" type="float" value="0" />
<input name="thin_film_IOR" type="float" value="1.5" />
<input name="emission" type="float" value="0" />
<input name="emission_color" type="color3" value="1, 1, 1" />
<input name="opacity" type="color3" value="1, 1, 1" />
<input name="thin_walled" type="boolean" value="false" />
<input name="normal" type="vector3" value="0, 0, 0" />
<input name="tangent" type="vector3" value="0, 0, 0" />
</standard_surface>
</materialx>