[x3d-public] Should Appearance material be an SFNode (current) or MFNode? see backTexture

Don Brutzman brutzman at nps.edu
Sat Apr 17 15:55:26 PDT 2021


Looks like your specification reference is out of date.  Please use current X3D4 Committee Draft (CD) so that we are proofing the new spec.

* X3D4 CD Architecture > Shape Component > 12.4.2 Appearance
   https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD/Part01/components/shape.html#Appearance

Hmmm, looks like a significant spec error, backMaterial missing??

Appearance : X3DAppearanceNode {
SFNode   [in,out] acousticProperties NULL   [AcousticProperties]SFFloat  [in,out] alphaCutoff        0.5    [0,1]SFString [in,out] alphaMode          "AUTO" ["AUTO", "OPAQUE", "MASK", "BLEND"]SFNode   [in,out] backMaterial       NULL   [X3DOneSidedMaterialNode]
SFNode   [in,out] fillProperties     NULL   [FillProperties]
SFNode   [in,out] lineProperties     NULL   [LineProperties]
SFNode   [in,out] material           NULL   [X3DMaterialNode]
SFNode   [in,out] metadata           NULL   [X3DMetadataObject]
SFNode   [in,out] pointProperties    NULL   [PointProperties]
MFNode   [in,out] shaders            []     [X3DShaderNode]
SFNode   [in,out] texture            NULL   [X3DTextureNode]
SFNode   [in,out] textureTransform   NULL   [X3DTextureTransformNode]
}

Actually just a line-spacing error, notice how first field is a run-on line.  Corrected:

Appearance : X3DAppearanceNode {
SFNode   [in,out] acousticProperties NULL   [AcousticProperties]
SFFloat  [in,out] alphaCutoff        0.5    [0,1]
SFString [in,out] alphaMode          "AUTO" ["AUTO", "OPAQUE", "MASK", "BLEND"]
SFNode   [in,out] backMaterial       NULL   [X3DOneSidedMaterialNode]
SFNode   [in,out] fillProperties     NULL   [FillProperties]
SFNode   [in,out] lineProperties     NULL   [LineProperties]
SFNode   [in,out] material           NULL   [X3DMaterialNode]
SFNode   [in,out] metadata           NULL   [X3DMetadataObject]
SFNode   [in,out] pointProperties    NULL   [PointProperties]
MFNode   [in,out] shaders            []     [X3DShaderNode]
SFNode   [in,out] texture            NULL   [X3DTextureNode]
SFNode   [in,out] textureTransform   NULL   [X3DTextureTransformNode]
}

Note that Appearance can have both <Material containerField='material'/> and <Material containerField='backMaterial'/> for front and back material definitions.

On 4/15/2021 11:53 PM, John Carlson wrote:
> Indeed, Appearance material is an SFNode, not an MFNode in X3DV4.   What do you think?

So yes, /material/ field is an SFNode and yes, in X3D4 your Appearance might legally have two Material nodes if one is assigned as containerField='backMaterial' for 2-sided texturing.

I have added this formatting problem as Mantis issue 1357 to ensure that it is resolved properly.

all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman



More information about the x3d-public mailing list