<div dir="auto">I’m wondering if repeatS/T/U should be repeat (MFBool)</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Sep 26, 2020 at 8:20 AM Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com">michalis.kambi@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">Yes to "use X3DSingleTextureNode throughout".<br><br><br><br>I deliberately wanted to use the "only 2D" texture type for<br><br>normalTexture and occlusionTexture in X3D 4.0 (to make X3D<br><br>implementations easier). But I don't think anymore it's necessary. If<br><br>no X3D browser developer will object here, I'm cool with using (more<br><br>general) X3DSingleTextureNode type for them<br><br><br><br>While 3D textures with normals, or cubemaps with normals, are not<br><br>common -> but they make sense, we should allow them.<br><br><br><br>Note that your comment about repeatS repeatT or textureProperties is not valid.<br><br><br><br>- We absolutely *want* to have repeatS, repeatT, textureProperties for<br><br>the 2D textures used with materials. And we will: since<br><br>X3DSingleTextureNode is the ancestor of X3DTexture2DNode. So changing<br><br>these fields (normalTexture and occlusionTexture) to<br><br>X3DSingleTextureNode is only adding more possibilities, not taking<br><br>away any. You can still place there "ImageTexture" and configure its<br><br>repeatXxx field.<br><br><br><br>- Other (non-2D) textures also have analogous fields, most texture<br><br>nodes should have textureProperties, 3D texture nodes have repeatS/T/U<br><br>etc. And that's all good :)<br><br><br><br>- These all properties make sense on textures. Placing textures inside<br><br>a material doesn't change anything here, it still makes sense to talk<br><br>about texture repeat, filtering etc.<br><br><br><br>Regards,<br><br>Michalis<br><br><br><br>sob., 26 wrz 2020 o 00:54 Don Brutzman <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> napisał(a):<br><br>><br><br>> Found a small inconsistency in X3D4 WD2 spec (while implementing the rest of "mapping" approach in X3D Schema and X3DUOM).<br><br>><br><br>> Please look at node types in following, specifically [X3DSingleTextureNode] vs. [X3DTexture2DNode].<br><br>><br><br>> =======================================<br><br>> 12.4.5 Material<br><br>><br><br>> Material : X3DOneSidedMaterialNode {<br><br>>    SFFloat  [in,out] ambientIntensity          0.2          [0,1]<br><br>>    SFNode   [in,out] ambientTexture            NULL         [X3DSingleTextureNode]<br><br>>    SFString [in,out] ambientTextureMapping     ""<br><br>><br><br>>    SFColor  [in,out] diffuseColor              0.8 0.8 0.8  [0,1]<br><br>>    SFNode   [in,out] diffuseTexture            NULL         [X3DSingleTextureNode]<br><br>>    SFString [in,out] diffuseTextureMapping     ""<br><br>><br><br>>    SFColor  [in,out] emissiveColor             0 0 0        [0,1]<br><br>>    SFNode   [in,out] emissiveTexture           NULL         [X3DSingleTextureNode]<br><br>>    SFString [in,out] emissiveTextureMapping    ""<br><br>><br><br>>    SFNode   [in,out] metadata                  NULL         [X3DMetadataObject]<br><br>><br><br>>    SFNode   [in,out] normalTexture             NULL         [X3DTexture2DNode]<br><br>>    SFString [in,out] normalTextureMapping      ""<br><br>>    SFFloat  [in,out] normalScale               1            [0, ∞]<br><br>><br><br>>    SFFloat  [in,out] occlusionStrength         1            [0,1]<br><br>>    SFNode   [in,out] occlusionTexture          NULL         [X3DTexture2DNode]<br><br>>    SFString [in,out] occlusionTextureMapping   ""<br><br>><br><br>>    SFFloat  [in,out] shininess                 0.2          [0,1]<br><br>>    SFNode   [in,out] shininessTexture          NULL         [X3DSingleTextureNode]<br><br>>    SFString [in,out] shininessTextureMapping   ""<br><br>><br><br>>    SFColor  [in,out] specularColor             0 0 0        [0,1]<br><br>>    SFNode   [in,out] specularTexture           NULL         [X3DSingleTextureNode]<br><br>>    SFString [in,out] specularTextureMapping    ""<br><br>><br><br>>    SFFloat  [in,out] transparency              0            [0,1]<br><br>> }<br><br>> =======================================<br><br>><br><br>> 18.3.2 X3DSingleTextureNode<br><br>><br><br>> X3DSingleTextureNode : X3DTextureNode {<br><br>>    SFNode [in,out] metadata NULL [X3DMetadataObject]<br><br>> }<br><br>> =======================================<br><br>><br><br>> 18.3.4 X3DTexture2DNode<br><br>><br><br>> X3DTexture2DNode : X3DSingleTextureNode {<br><br>>    SFNode [in,out] metadata          NULL [X3DMetadataObject]<br><br>>    SFBool []       repeatS           TRUE<br><br>>    SFBool []       repeatT           TRUE<br><br>>    SFNode []       textureProperties NULL [TextureProperties]<br><br>> }<br><br>> =======================================<br><br>><br><br>> 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.<br><br>><br><br>> OK to use [X3DSingleTextureNode] throughout?<br><br>><br><br>> all the best, Don<br><br>> --<br><br>> Don Brutzman  Naval Postgraduate School, Code USW/Br       <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br><br>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<br><br>> X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">http://faculty.nps.edu/brutzman</a><br><br><br><br>_______________________________________________<br><br>x3d-public mailing list<br><br><a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br><br><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br><br></blockquote></div></div>