MaterialX
MaterialX copied to clipboard
Update UsdUVTexture definition and implementation
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 thenodedef
with thenodegraph
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 tocolorSpace
attribute.
Meta-data Handling
- Issue:
wrapS
andwrapT
inputs includeblack
, anduseMetadata
. To see how to make these work. - Issue: The node has no
nodegroup
as noted in this issue. Beyond UI considerationnodegroups
are used by shader generation to denote things like textures. The latter is for instance used for create code for filtered sampling.