[x3d-public] ... X3D4 PBR Material textures: all [X3DSingleTextureNode] vice some [X3DTexture2DNode] ?

Don Brutzman brutzman at nps.edu
Fri Sep 25 15:54:34 PDT 2020


Found a small inconsistency in X3D4 WD2 spec (while implementing the rest of "mapping" approach in X3D Schema and X3DUOM).

Please look at node types in following, specifically [X3DSingleTextureNode] vs. [X3DTexture2DNode].

=======================================
12.4.5 Material

Material : X3DOneSidedMaterialNode {
   SFFloat  [in,out] ambientIntensity          0.2          [0,1]
   SFNode   [in,out] ambientTexture            NULL         [X3DSingleTextureNode]
   SFString [in,out] ambientTextureMapping     ""

   SFColor  [in,out] diffuseColor              0.8 0.8 0.8  [0,1]
   SFNode   [in,out] diffuseTexture            NULL         [X3DSingleTextureNode]
   SFString [in,out] diffuseTextureMapping     ""

   SFColor  [in,out] emissiveColor             0 0 0        [0,1]
   SFNode   [in,out] emissiveTexture           NULL         [X3DSingleTextureNode]
   SFString [in,out] emissiveTextureMapping    ""

   SFNode   [in,out] metadata                  NULL         [X3DMetadataObject]

   SFNode   [in,out] normalTexture             NULL         [X3DTexture2DNode]
   SFString [in,out] normalTextureMapping      ""
   SFFloat  [in,out] normalScale               1            [0, ∞]

   SFFloat  [in,out] occlusionStrength         1            [0,1]
   SFNode   [in,out] occlusionTexture          NULL         [X3DTexture2DNode]
   SFString [in,out] occlusionTextureMapping   ""
   
   SFFloat  [in,out] shininess                 0.2          [0,1]
   SFNode   [in,out] shininessTexture          NULL         [X3DSingleTextureNode]
   SFString [in,out] shininessTextureMapping   ""

   SFColor  [in,out] specularColor             0 0 0        [0,1]
   SFNode   [in,out] specularTexture           NULL         [X3DSingleTextureNode]
   SFString [in,out] specularTextureMapping    ""

   SFFloat  [in,out] transparency              0            [0,1]
}
=======================================

18.3.2 X3DSingleTextureNode

X3DSingleTextureNode : X3DTextureNode {
   SFNode [in,out] metadata NULL [X3DMetadataObject]
}
=======================================

18.3.4 X3DTexture2DNode

X3DTexture2DNode : X3DSingleTextureNode {
   SFNode [in,out] metadata          NULL [X3DMetadataObject]
   SFBool []       repeatS           TRUE
   SFBool []       repeatT           TRUE
   SFNode []       textureProperties NULL [TextureProperties]
}
=======================================

Looks like node type for every SFNode texture field in the new Material nodes should be [X3DSingleTextureNode] rather than any as [X3DTexture2DNode].  Doubtful we'd ever want to rely on repeatS repeatT or textureProperties when modulating materials.

OK to use [X3DSingleTextureNode] throughout?

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