<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1881430854;
        mso-list-type:hybrid;
        mso-list-template-ids:-841687344 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang=EN-US link=blue vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>calculate "inverse bind matrices" from H-Anim nodes (thus essentially converting H-Anim -> glTF animation) and then follow glTF skinned animation approach to make it suitable on GPU.</li><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'><o:p> </o:p></li></ul><p class=MsoNormal><a href="https://github.com/michaliskambi/x3d-tests/wiki/Converting-glTF-to-X3D" target="_blank">https://github.com/michaliskambi/x3d-tests/wiki/Converting-glTF-to-X3D</a></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks for all work on this, as it is an important connection that might be shown. With all 4.0 going on, but here is where the tool needs to generate some additional data in addition to what is in the gltf fields directly. Since animation data for each frame is not based on the last frame, but from the state prior to animation, a style of animation could be to keep the original pose, or instead to create the inverse matrix operation. So, for each frame, the tool uses the last value and inverse matrix to find the original value, then applies the new animation data to the point. At least, that is what seems to present itself. In HAnim the field called skin defines this basic state of the mesh prior to animation. This  allows the tool to have the original values to create the operation, getting rid of those cumbersome coord interpolators and restores the possibility of realtime animation. Use of the gltf fields to derive coordinate interpolators for this is was a breakthrough in transporting animation data. First the export was only available as video frames, so the animation export was just a giant file of pixels for each frame, not even a video yet, Never any hint of the animation engine work. </p><p class=MsoNormal>Thanks and Best, </p><p class=MsoNormal>Joe</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:gpugroup@gmail.com">GPU Group</a><br><b>Sent: </b>Wednesday, May 4, 2022 7:56 AM<br><b>To: </b><a href="mailto:x3d-public@web3d.org">X3D Public Mailing List (x3d-public@web3d.org)</a><br><b>Subject: </b>Re: [x3d-public] [x3d] Spec Comment by on 19775-1: X3D Architecture- V4.0:component support needed for glTF inline loading conversion</p></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Here's an example of an area to work on: I was working on .mapping yesterday and noticed I didn't have the wood grain texture on GreenChair right leg front correct when zoomed in. I found my texture area and the sample viewer texture area on the raw image in GIMP - about x=500 / 2048, and ydown 1170/2048 for sample viewer and ydown 716 for freewrl. I tried flipping the y = 1 - y, but not close enough. tried scaling by texture scale, didn't nail it but got closer.</p><div><p class=MsoNormal>One idea is to look at the export code in blender, or to do some smaller sample scene in blender with texture transform, to sort it out.</p><div><p class=MsoNormal><o:p> </o:p></p></div></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Tue, May 3, 2022 at 3:34 PM Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com">michalis.kambi@gmail.com</a>> wrote:</p></div></div><p class=MsoNormal style='margin-left:4.8pt'>Note that we already edited that statement in<br><a href="https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/networking.html" target="_blank">https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/networking.html</a><br>--  it's "Lighting component level 3" (not 4 as in spec comment) and<br>we list "Minimum required glTF support".<br><br>Looking at that "Minimum required glTF support" it implies the need to support:<br><br>- Shape:2, Lighting:3 as already stated there<br>- Grouping:1 (already mentioned as "Prerequisites" for Networking:2 though)<br>- Rendering:3 or Geometry3D:2 (you need *some* way to render meshes<br>composed from any triangles, obviously)<br><br>This does not cover "what do you need to convert 100% of glTF into<br>X3D", because we do not know the answer to that yet.<br><br>The best attempt at mapping glTF->X3D is on<br><a href="https://github.com/michaliskambi/x3d-tests/wiki/Converting-glTF-to-X3D" target="_blank">https://github.com/michaliskambi/x3d-tests/wiki/Converting-glTF-to-X3D</a><br>that I linked om this list before. It lists my knowledge (and thus<br>CGE/view3dscene implementation) and has bits of knowledge about what<br>X3DOM is doing. I welcome other implementors to review it and modify<br>-- what are *you* doing, and if you're doing something else -- write<br>*why*. Edit wiki, or just write email to me.<br><br>But that wiki page does not cover everything from glTF, we're not<br>there yet. Some things require research. Some things are more obvious<br>how to do (we could probably get consensus about them easily), but<br>still require adding it to spec at some point (like Tangent node or<br>X3DColorNode.mode). I hope to work on them after X3D 4.0 (it takes<br>ages to finalize X3D 4.0, so at this point I very don't want to add<br>anything to X3D 4.0 :) ).<br><br>We'll get to a "nicely written and complete" mapping glTF->X3D at some<br>point, but this is still a work in progress. X3D 4.0 is in nice<br>position (with PhysicalMaterial and many other things matching glTF)<br>but we still have way to go. Both implementations (including my own)<br>and the spec.<br><br>Regards,<br>Michalis<br><br>pon., 2 maj 2022 o 00:06 Joseph D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>> napisał(a):<br>><br>> Maybe this needs a nice graph that links standard gltf data asset fields to certain x3d native data fields and those that are ‘compiled’ containers of data derived from certain x3d fields.<br>><br>> Thanks<br>><br>> Joe<br>><br>><br>><br>> From: Brutzman, Donald (Don) (CIV)<br>> Sent: Monday, April 25, 2022 8:15 AM<br>> To: Andreas Plesch<br>> Cc: Spec Feedback; X3D Public Mailing List (<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>); <a href="mailto:x3d@web3d.org" target="_blank">x3d@web3d.org</a><br>> Subject: Re: [x3d] Spec Comment by on 19775-1: X3D Architecture - V4.0:component support needed for glTF inline loading conversion<br>><br>><br>><br>> [cc: x3d-public]<br>><br>><br>><br>> Thanks for insightful comment.  Happy to modify this statement to list all<br>><br>> appropriate components, possibly Immersive profile.<br>><br>><br>><br>> Michalis, do you have any opinions from writing your glTF->X3D conversion<br>><br>> code?<br>><br>><br>><br>> It helps to know full coverage.  If there is a glTF test file that includes<br>><br>> all constructs, that would also be helpful to convert and add to our<br>><br>> architecture.<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 https://<br>><br>> <a href="http://faculty.nps.edu/brutzman" target="_blank">faculty.nps.edu/brutzman</a><br>><br>><br>><br>> -----Original Message-----<br>><br>> From: x3d <<a href="mailto:x3d-bounces@web3d.org" target="_blank">x3d-bounces@web3d.org</a>> On Behalf Of Spec Feedback<br>><br>> Sent: Thursday, April 21, 2022 12:47 PM<br>><br>> To: <a href="mailto:x3d@web3d.org" target="_blank">x3d@web3d.org</a><br>><br>> Subject: [x3d] Spec Comment by on 19775-1: X3D Architecture - V4.0<br>><br>><br>><br>> -- Submitter indicates that this comment may be public: *Yes* --<br>><br>><br>><br>> Comment on 19775-1: X3D Architecture - V4.0<br>><br>><br>><br>> <a href="https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/component" target="_blank">https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/component</a><br>><br>> s/networking.html#X3DUrlObject<br>><br>><br>><br>> -----------------<br>><br>> "Support for loading glTF assets (see 2.[GLTF]) also requires support for<br>><br>> Shape component level 2 and Lighting component level 4."<br>><br>><br>><br>> Many different data fragments may be contained in the current standard gltf<br>><br>> asset structure, even animation data, so maybe also more general statement?<br>><br>><br>><br>><br>><br>><br>><br>> -----------------<br>><br>><br>><br>> Submitted on Thursday, 2022,  April 21 - 12:47pm by  (Joe D Williams )<br>><br>> IP: 12.206.82.58<br>><br>><br>><br>> See: <a href="https://www.web3d.org/node/1694/submission/5663" target="_blank">https://www.web3d.org/node/1694/submission/5663</a><br>><br>><br>><br>><br>><br>> _______________________________________________<br>><br>> x3d mailing list<br>><br>> <a href="mailto:x3d@web3d.org" target="_blank">x3d@web3d.org</a><br>><br>> <a href="http://web3d.org/mailman/listinfo/x3d_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d_web3d.org</a><br>><br>><br>><br>> _______________________________________________<br>> x3d-public mailing list<br>> <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br><br>_______________________________________________<br>x3d-public mailing list<br><a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>