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

John Carlson yottzumm at gmail.com
Sat Apr 17 16:08:47 PDT 2021


https://x3dgraphics.com/examples/X3dForAdvancedModeling/AudioSpatialSound/SplitChannelsIndex.html

Needs containerField's for its two Material Appearance.  I haven't 
checked the other two files for containerFields


John

On 4/17/21 5:55 PM, Don Brutzman wrote:
> 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



More information about the x3d-public mailing list