<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">I agree to Micka and Joe, and example looks better with <div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Calibri, sans-serif; font-size: 14.666667px;"><br></span></div><div><font color="#000000" face="Calibri, sans-serif"><span style="caret-color: rgb(0, 0, 0); font-size: 14.666667px;"><TextureCoordinate point='0 0 0.5 0.5 0.5 0 0 0.5‘/></span></font></div><div><font color="#000000" face="Calibri, sans-serif"><span style="caret-color: rgb(0, 0, 0); font-size: 14.666667px;"><br></span></font></div><div><font color="#000000" face="Calibri, sans-serif"><span style="caret-color: rgb(0, 0, 0); font-size: 14.666667px;">Best regards,</span></font></div><div><font color="#000000" face="Calibri, sans-serif"><span style="caret-color: rgb(0, 0, 0); font-size: 14.666667px;">Holger</span></font></div><div><font color="#000000" face="Calibri, sans-serif"><span style="caret-color: rgb(0, 0, 0); font-size: 14.666667px;"><br></span></font><div><br><blockquote type="cite"><div>Am 04.01.2023 um 19:52 schrieb Joseph D Williams <joedwil@earthlink.net>:</div><br class="Apple-interchange-newline"><div><meta charset="UTF-8"><div class="WordSection1" style="page: WordSection1; caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><ul type="disc" style="margin-bottom: 0in; margin-top: 0in;"><li class="MsoListParagraph" style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">I'm cool with your proposed clarification sentence """Texture<o:p></o:p></li></ul><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">coordinates are reapplied or else recomputed (if initially NULL)<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">whenever the corresponding vertex-based geometry changes.”"".</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Right, if initially NULL, not if supplied.<span class="Apple-converted-space"> </span></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Only recomputed each frame when initially NULL, then use BB numbers each frame.<span class="Apple-converted-space"> </span></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">IF not NULL, then only if number of points changes. For Hanim, if the number of points changes then the skeleton must be regenerated for new index and weight assignments.<span class="Apple-converted-space"> </span></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">And, I think I see how to fix to get what I expect.<span class="Apple-converted-space"> </span></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickIndex.html" style="color: blue; text-decoration: underline;">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickIndex.html</a></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">works when I added:</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><TextureCoordinate point='0 0 0.5 0.5 0.5 0 0 0.5'/></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">I am based on some old stuff like contact and viz and vivaty where they do not use this rule, and work as I expected using defaults.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">However, making this rule to compute each frame using BB dimension if texcoords NULL creates a new behavior that seems to me novel and was not easily available before.<span class="Apple-converted-space"> </span></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Is this also correct rendering for other geometries than IFS?<span class="Apple-converted-space"> </span></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Thanks and Best,<span class="Apple-converted-space"> </span></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Joe</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="border-style: solid none none; border-top-width: 1pt; border-top-color: rgb(225, 225, 225); padding: 3pt 0in 0in;"><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif; border: none; padding: 0in;"><b>From:<span class="Apple-converted-space"> </span></b><a href="mailto:michalis.kambi@gmail.com" style="color: blue; text-decoration: underline;">Michalis Kamburelis</a><br><b>Sent:<span class="Apple-converted-space"> </span></b>Wednesday, January 4, 2023 10:24 AM<br><b>To:<span class="Apple-converted-space"> </span></b><a href="mailto:brutzman@nps.edu" style="color: blue; text-decoration: underline;">Brutzman, Donald (Don) (CIV)</a><br><b>Cc:<span class="Apple-converted-space"> </span></b><a href="mailto:x3d-public@web3d.org" style="color: blue; text-decoration: underline;">X3D</a><br><b>Subject:<span class="Apple-converted-space"> </span></b>Re: [x3d-public] X3DCanvas vs x3d-canvas, X_ITE - conversionstylesheet results;X3D4 specification rendering issue: recomputation of browser-computedtexture coordinates when animating meshes?</div></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Thanks Don,</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">I understand we are aligned then -- and consider the current</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">X_ITE/view3dscene/CGE/InstantReality approach to be correct then.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">And for Joe testcase, the resolution is just that (if you want texture</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">to "stick") then explicit texture coordinates should be specified,</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">using TextureCoordinate.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">( Otherwise, I admit I wanted to object to your earlier suggestion --</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">I think it would be harder to specify exactly when to recalculate and</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">when not to. And then we go into discussion how does it interact with</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">TextureCoordinateGenerator, whether it is doable on GPU etc. So it's</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">better to keep it simple, as it is now. )</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">I'm cool with your proposed clarification sentence """Texture</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">coordinates are reapplied or else recomputed (if initially NULL)</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">whenever the corresponding vertex-based geometry changes.”"".</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Moreover, I would advise adding the same sentence to</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">TextureCoordinateGenerator prose,</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/components/texturing.html#TextureCoordinateGenerator</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">, to make it clear that the situation is consistent for it.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Note that glTF doesn't have an equivalent feature, so we don't need to</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">worry about glTF here. In glTF, texture coordinates have to be always</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">provided if you want to render the texture. There's no automatic</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">recalculation. So they kind of avoided the whole issue :)</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">As for feature idea "might precomputation and addition of texture</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">coordinates be an option in your converter?" -- hmm, it is definitely</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">sensible and I see it would be useful (like in this case for Joe</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">humanoid). But I admit it is not trivial -- because we don't actually</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">do such calculation now on CPU, that is in CGE we *do not* at any</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">point calculate automatic texture coordinates on CPU. If the automatic</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">coordinates are needed (following bounds of shape, or following</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">TextureCoordinateGenerator) they are just calculated during rendering</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">on GPU, and we don't really save them anywhere (right now). So, it is</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">certainly possible but would be quite some additional work to add</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">"precalculating texture coords".</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Regards,</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">Michalis</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">śr., 4 sty 2023 o 18:41 Brutzman, Donald (Don) (CIV)</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><brutzman@nps.edu> napisał(a):</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> Michalis, apologies our mail crossed. Thanks for excellent and thorough explanation.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> Am keen to keep things aligned as you and Holger (two leading implementers) think best.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> Wondering: are there any further clarifications to add to specification, preventing ambiguous interpretation? For example, perhaps adding a sentence:</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> X3D4, Texturing component, 18.2.3 Texture coordinates</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/components/texturing.html#TextureCoordinates</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> “Texture coordinates are reapplied or else recomputed (if initially NULL) whenever the corresponding vertex-based geometry changes.”</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> Also wondering: might precomputation and addition of texture coordinates be an option in your converter? Given continued inconsistencies of Blender export to X3D, this might be especially helpful as we try to achieve consistent X3D browser rendering for advanced HAnim skin examples. If that is possible, Joe and I will be happy to update texture coordinates and test relevant X3D HumanoidAnimation example models accordingly.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> Castle Game Engine: Convert everything to X3D</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> https://castle-engine.io/convert.php</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> HumanoidAnimation (HAnim) X3D Examples Archive</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> https://www.web3d.org/x3d/content/examples/HumanoidAnimation</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> all the best, Don</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> --</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> Don Brutzman Naval Postgraduate School, Code USW/Br brutzman@nps.edu</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> X3D graphics, virtual worlds, Navy robotics https:// faculty.nps.edu/brutzman</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> -----Original Message-----</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> From: x3d-public <x3d-public-bounces@web3d.org> On Behalf Of Michalis Kamburelis</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> Sent: Wednesday, January 4, 2023 8:00 AM</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> To: Holger Seelig <holger.seelig@yahoo.de></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> Cc: X3D <x3d-public@web3d.org></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> Subject: Re: [x3d-public] X3DCanvas vs x3d-canvas, X_ITE - conversion stylesheet results</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> view3dscene and Castle Game Engine recompute the texture coordinates at runtime, potentially each frame. Which, as I understand, is also what X_ITE does. Testing with latest view3dscene (https://castle-engine.io/view3dscene.php), our results match X_ITE on https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeSkeletonSkinSiteSaluteWalkX_ITE.html</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> .</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> In short I think that</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> - view3dscene, Castle Game Engine and X_ITE are all correct with respect to spec here. We had this discussion 11 years ago already (see thread "Announcement: view3dscene 3.8.0" in your MUAs). From what I recall, back then I also confirmed that InstantReality on desktop also recalculates texture coordinates. But BS Contact did it differently.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> - I think this is a sensible behavior in general, see below why. I see it doesn't match what Joe expected in this case, but IMHO the resolution is just "you should assign texture coordinates explicitly if you want them to stick, i.e. use TextureCoordinate".</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> Details:</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> The texture generation based on bbox is treated by view3dscene/CGE as just an implicit use of TextureCoordinateGenerator, with mode="BOUNDS", see</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> https://castle-engine.io/x3d_implementation_texturing_extensions.php#section_ext_tex_coord_bounds. And TextureCoordinateGenerator can change coordinates at each frame.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> The idea is that such texture generation can be done on GPU, right at rendering, so yes -- it can change each frame and this is a feature.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> If you want the texture coordinates to stay unchanged, then just generate texture coordinates in your authoring tool. This is a normal workflow in my experience, artists routinely UV unwrap and assign textures this way to characters. 3D artists do not really depend on automatic texture generation at all in my experience, they also assign texture coordinates explicitly in Blender or such.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> I'm not saying this is some final decision, but I'm saying this ("texture generation happens each frame, and may be done on GPU right at rendering") is how I understood the X3D spec and I think it makes sense. This way texture generation in X3D is a nice feature for some use-cases (if model is static, or if you want the texture to "flow").</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> If you want the texture to "stick", then you should just assign texture coordinates in 3D authoring tool, like in normal 3D workflow.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> If we really want to (but I would discourage from it) we could change X3D spec to have a different behavior, but in this case the X3D spec would really have to be precise *when* should texture generation to be recomputed (at start? and/or caused by some input events?), how it is related to TextureCoordinateGenerator. Holger in last mail raised correct points -- they are some moments when you *have* to recompute the coordinates (like when number of points changes) anyway. Trying to specify when to recompute, and when not to recompute, feels like a "Pandora's box". Better to follow what we have now, and just say "they can be recomputed at each frame".</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> So making the texture generation only at certain moments</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> - is an additional work for X3D browsers, where they cannot use GPU (easily),</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> - is a work that duplicates what typically 3D authoring tools, like Blender, are doing.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> So,</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> - you want the texture to stick -> map texture in Blender,</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> - you want the texture to move -> rely on X3D texture generation at runtime.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> Regards,</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> Michalis</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> śr., 4 sty 2023 o 16:35 Holger Seelig <holger.seelig@yahoo.de> napisał(a):</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Hi Joe, but this is not what spec say, reading it strictly. Your approach has some caveats. The text coords should be calculated once. But what happens when the number of coords changes, or the num triangles or quads, or polygons. It is no more easy to determine when the tex coords should be regenerated.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Holger</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Am 04.01.2023 um 16:06 schrieb Joseph D Williams <joedwil@earthlink.net>:</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > >> "The longest dimension of the bounding box defines the S coordinates, and the next longest defines the T coordinates."</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Hi Holger, I certainly agree with this, but not during animation. We would use the default mapping once, for the default pose, then the same after animation begins. Again, the way it is showing is a neat effect, but not realistic, since the texture should stay mapped to the default pose, not recomputed at each frame.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Thanks,</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Joe</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > From: Holger Seelig</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Sent: Tuesday, January 3, 2023 3:15 AM</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > To: X3D</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Subject: Re: [x3d-public] X3DCanvas vs x3d-canvas,X_ITE - conversion</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > stylesheet results</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > X_ITE does exactly what is documented here https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#f-IndexedFaceSettextureDefaultMapping to automatically calculate tex coords.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > >> "The longest dimension of the bounding box defines the S coordinates, and the next longest defines the T coordinates."</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > In your example the longest dimension is as we can see the Y-axis, but</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > the next longest dimension will change when the IFS is animated,</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > sometimes it is the X-axis and sometimes it is the Z-axis. (You can</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > see a flip)</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Second, because the IFS is animated the tex coords will always change.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > (You see the texture moving)</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Here are the lines how X_ITE does the calc:</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > https://github.com/create3000/x_ite/blob/ad74f5212dae83c436bf0fc25eb4ac471301ae50/src/x_ite/Components/Rendering/X3DGeometryNode.js#L357</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Please have a look at it. I cannot find a bug.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Best regards,</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Holger</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Am 02.01.2023 um 18:58 schrieb Joseph D Williams <joedwil@earthlink.net>:</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Humanoid Animation X3D Examples Archive, Skin, Joe Skeleton Skin Site</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Salute Walk (web3d.org)</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Notice how skin moves around with animations.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > I still think this is because browser does not honor textCoords, Do I need to make a change to get thisto work right when it works correctly in others. As I recall from past, xite doesn’t autogenerate texcoords and needs repeat for every point?</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Thanks,</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Joe</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > From: Brutzman, Donald (Don) (CIV)</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Sent: Saturday, December 31, 2022 2:42 PM</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > To: Holger Seelig</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Cc: X3D</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Subject: Re: [x3d-public] X3DCanvas vs x3d-canvas,X_ITE - conversion</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > stylesheet results</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > [related topic: upgrading "X3D to X_ITE" stylesheet, to match your</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > announcement]</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Holger, thanks for all of the amazing work that you continue to accomplish.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > After finishing much other work, I’ve finally been able to update the (newly renamed) X3dToX3domX_ITE.xslt stylesheet to support your use of <x3d-canvas> element.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Apologies for delays reaching this point. The new version of X_ITE looks good!</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Hoping that you can confirm I’m using your publishing patterns correctly. Might you please check HTML/CSS source for the following developmental example. If there are better ways of doing things please advise.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > X3D Example Archives: Humanoid Animation, Skin, Joe Skeleton Skin Site</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Salute Walk</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeS</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > keletonSkinSiteSaluteWalkIndex.html</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeS</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > keletonSkinSiteSaluteWalkX_ITE.html</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeS</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > keletonSkinSiteSaluteWalk_X_ITE.png</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > One thing I was not able to figure out… if you unzoom the JoeSkeletonSkinSiteSaluteWalkX_ITE.html page (using 4-arrow button in upper left) there is space for X_ITE Console, to appear as before in prior version. However this feature is no longer working. Am happy to correct it, or omit it, as appropriate.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > <div></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > <h3>X_ITE Console</h3></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > <p class="x_ite-console"/></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > </div></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Hmm, reviewing: another thing is that the stylesheet link is still there but without apparent harm. Will try removing that later.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Having fun with X_ITE, X3D and HTML5! 8)</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > all the best, Don</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > --</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Don Brutzman Naval Postgraduate School, Code USW/Br brutzman@nps.edu</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > X3D graphics, virtual worlds, Navy robotics https://</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > faculty.nps.edu/brutzman</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > -----Original Message-----</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > From: x3d-public <x3d-public-bounces@web3d.org> On Behalf Of Holger</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Seelig</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Sent: Tuesday, November 1, 2022 8:04 AM</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > To: X3D <x3d-public@web3d.org></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Subject: [x3d-public] X3DCanvas vs x3d-canvas, X_ITE</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > With version 6.0.0, X_ITE uses the new element name <x3d-canvas>, lowercase and with dash. Because X_ITE uses the Custom Element API from JavaScript now. This has the advantages that the element can be created with document.createElement, and is then immediately ready to use :). Other advantage is that the CSS file must not be included anymore.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > For compatibility the old name can still be used, but we encourage all users to update to the new tag name.</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Best regards,</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > Holger</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > _______________________________________________</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > x3d-public mailing list</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > x3d-public@web3d.org</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > http://web3d.org/mailman/listinfo/x3d-public_web3d.org</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> ></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > _______________________________________________</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > x3d-public mailing list</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > x3d-public@web3d.org</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">> > http://web3d.org/mailman/listinfo/x3d-public_web3d.org</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">_______________________________________________</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;">x3d-public mailing list</div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="mailto:x3d-public@web3d.org" style="color: blue; text-decoration: underline;">x3d-public@web3d.org</a></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" style="color: blue; text-decoration: underline;">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></div><div style="margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p> </o:p></div></div><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">_______________________________________________</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">x3d-public mailing list</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><a href="mailto:x3d-public@web3d.org" style="color: blue; text-decoration: underline; font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">x3d-public@web3d.org</a><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" style="color: blue; text-decoration: underline; font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></div></blockquote></div><br></div></body></html>