MaterialX icon indicating copy to clipboard operation
MaterialX copied to clipboard

Update UsdUVTexture definition and implementation

Open kwokcb opened this issue 2 years ago • 0 comments

A. Core Update

UsdUVTexture is currently written against version 2.2 and this issue is to update to 2.3 (latest at time of logging). See here As part of this proper versioning will be added.

B. Outstanding Issues

There are a number issues which have been found which will need to be resolved as follow-up issues (separated out) This includes:

Definition Handling

  • Issue: It's not possible to remove inputs or outputs via inheritance currently.
  • Issue: A full output signature is required even though inheritance is used. e.g. this is not allowed (just add 1 output):
<nodedef name="ND_UsdUVTexture" node="UsdUVTexture" version="2.2" inherit="ND_UsdUVTexture_23">
	<output name="rgba" type="color4" />
</nodedef>
  • Issue: It is not possible to add in a <implementation> which associates the nodedef with the nodegraph as there appears to be (validation) issues when the outputs access internal nodes. This also appears to be a validation defect.

Inheritance

  • Clarification: There is no current support for <nodegraph> inheritance so a near duplicate implementation graph is required. e.g. this is not allowed (seems like a validation defect):
    <nodegraph name="IMP_UsdUVTexture_22" nodedef="ND_UsdUVTexture" inherit="IMP_UsdUVTexture_23">   
        <output name="rgba" type="color4" nodename="image_bias" />
     </nodegraph>	
    

Color Management

  • Issue: Seems color management does not kick in for USDUvTexture. Historical and could be due to fact that node is multioutput ?
  • Issue: Version 2.3 introduces a new sourceColorSpace input. TBD if may this can map to colorSpace attribute.

Meta-data Handling

  • Issue: wrapS and wrapT inputs include black, and useMetadata. To see how to make these work.
  • Issue: The node has no nodegroup as noted in this issue. Beyond UI consideration nodegroups are used by shader generation to denote things like textures. The latter is for instance used for create code for filtered sampling.

kwokcb avatar Apr 26 '22 22:04 kwokcb