<div dir="ltr"><div dir="ltr">For example, these trimmed lines in X3D have the -99999 value previously mentioned:<div><br></div><div><div>$ grep -e -99999 *.x3d|cut -c1-150</div><div>gramps_animated_full_1_NEW.x3d:                          <TextureCoordinate DEF='TX_gramps_low_poly' point='0.87121 0.52307 0.87146 0.52263 0.87197 0.</div><div>gramps_animated_full_1_OLD.x3d:                                                                                        <TextureCoordinate point="0.8712 0.5231 0.8715 0.5226 0.8720 0.5231 0.3777 0.3135 0.3773 0.3135 0.3773 0.3</div></div><div><br></div><div>So I would focus my search for the problem on the TextureCoordinate code.</div><div><br></div><div>Thank me for months of work on Winter and Spring to find this gotcha.  This is why I worked on Blender, the X3D exports actually worked.</div><div><br></div><div>John</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, May 18, 2024 at 12:08 AM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>My guess is, based on experience, that there's negative values in the UV map.</div><div><br></div><div>A textual form of the UV map is attached for your perusal.  Here are the lines in question:</div><div><br></div><div><div>60658   0.6157  0.8191  0       0.6158  0.8191  0       0.1058  -99999  0</div><div>60659   0.6158  0.8191  0       0.1058  -99999  0       0.6158  0.8191  0</div><div>72862   1.5161  -0.232  0       1.516   -0.232  0       1.5165  -0.2304 0</div></div><div><br></div><div>If you guys can figure this out in glTF, that would be great.</div><div><br></div><div>Note that  the X3D node definition standard allows negative values, as does X3D viewers.  Apparently, glTF viewers get confused.</div><div><br></div><div>It took me several months to discover these negative values, perhaps this will speed up your search.</div><div><br></div><div>You may forward this email.</div><div><br></div><div>Thanks, Katy, for the excellent test file.</div><div><br></div><div>Thanks,</div><div><br></div><div>John</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 17, 2024 at 11:25 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">So it actually appears to be a problem with the Blender file or the Blender glTF/glb export of the gramps blend file, found here:  <a href="https://github.com/coderextreme/gramps/blob/main/gramps_animated_full_1.blend" target="_blank">gramps/gramps_animated_full_1.blend at main · coderextreme/gramps (github.com)</a></div><div dir="ltr"><br></div><div>I did check the .glb with a very popular three.js glb viewer by Don McCurdy (first link on Bing).  Here's the results:  </div>[ deleted ]</div><div dir="ltr"><br></div><div dir="ltr">So I tried the 2nd glTF viewer on Bing the PlayCanvas one, with the glb:</div><div dir="ltr"><br></div><div dir="ltr">[ deleted ]<br><div dir="ltr"><br></div><div>Since .x3d texture seems to export OK (except for intentionally added geometry), I think it may be the glTF/glb export.  But there could be a virulent problem with glTF/glb viewers, too.  Probably X3D folks should make sure that their code does not produce results like the above.</div><div><br></div><div>Another thing may be that I exported the PNG directly from Blender, instead of with the .x3d file, but I don't think that's the case.  I can double check.  Since .glb contains the texture, AFAIK, the .glb should not have any issue.  Well, as you can see above, it does!</div><div><br></div><div>X3D encodings rock!</div><div><br></div><div>For reference, here are my test files:</div><div><br></div><div><a href="https://github.com/coderextreme/gramps" target="_blank">coderextreme/gramps: Demo of glTF/glb textures vs X3D textures, exported from Blender (github.com)</a><br></div><div><br></div><div>You may forward this message.  Obviously, we want all web 3D graphics formats and Blender exports to improve.</div><div><br></div><div>Thanks!</div><div><br></div><div>John Carlson</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 17, 2024 at 10:25 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">While I appreciate that glTF works for this *one* model, perhaps with PBR materials, that doesn't help my use of PNG textures with glTF or glb.  For me, normal X3D texture export from Blender works much better, especially with viewers like octaga, view3dscene/castle-model-view and sunrize (I tried X_ITE and X3DOM inside X3D-Edit as well).<div><br></div><div>I've already posted images, at least a couple of times.  Here is a full repository for your own testing.</div><div><br></div><div><a href="https://github.com/coderextreme/gramps" target="_blank">coderextreme/gramps: Demo of glTF/glb textures vs X3D textures, exported from Blender (github.com)</a><br></div><div><br></div><div>I did try replacing the png in glb with another image, and I got an error (???).  Replacing the png in the glTF did not change the result.</div><div><br></div><div>So the problem is with the glTF use of ordinary textures, or the glTF viewers.  Or perhaps Blender is exporting glTF/glb poorly.</div><div><br></div><div>Please address this.  I will continue testing with non-X3D viewers.</div><div><br></div><div>John</div><div><br></div><div><br></div><div>John</div><div><br></div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 17, 2024 at 8:41 AM Brutzman, Donald (Don) (CIV) via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div lang="EN-US"><div><p class="MsoNormal">X3D Standards Review meeting<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Participants:  Nicholas Polys, Dick Puk, Vince Marchetti, Anita Havele, Don Brutzman<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">[apologies for late posting of minutes, some time was needed for executing followups.]<u></u><u></u></p><div><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New""><u></u> <u></u></span></p></div><ol style="margin-top:0in" start="1" type="1"><li>We discussed future change considerations for X3D and how to better support glTF<u></u><u></u></li></ol><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="1" type="a"><li style="margin-left:0in">Fix glTF examples by adding component statements, 3 are actually needed if not using X3D version=’4.0’ profile=’Full’<u></u><u></u></li></ol><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Corrections applied and deployed.  Also added new model to test glTF capability using Inline node.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><ul style="margin-top:0in" type="disc"><li style="margin-left:0in">X3D Example Archives: X3D4AM, X3D for Advanced Modeling, Gltf Sample Models<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels</a><u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><ul style="margin-top:0in" type="disc"><li style="margin-left:0in">X3D Example Archives: X3D4AM, X3D for Advanced Modeling, Gltf Sample Models, Alpha Blend Mode Test Inline<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AlphaBlendModeTestInlineIndex.html" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AlphaBlendModeTestInlineIndex.html</a><u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Of happy note is that X_ITE and X3DOM both appear to render well  (and full ZOOM rocks!)<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><ul style="margin-top:0in" type="disc"><li style="margin-left:0in"><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AlphaBlendModeTestInlineX_ITE.html" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AlphaBlendModeTestInlineX_ITE.html</a><u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AlphaBlendModeTestInlineX3dom.xhtml" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AlphaBlendModeTestInlineX3dom.xhtml</a><u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Castle view3dscene worked well for me too, so forthcoming castle-model-viewer should be fine also.  All three renderings were super high quality and apparently identical.  Evidence:<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><ul style="margin-top:0in" type="disc"><li style="margin-left:0in"><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AlphaBlendModeTestInlineX3dom.png" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AlphaBlendModeTestInlineX3dom.png</a><u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Ladies and gentlemen, we have a demonstrated capability of X3D Inline of glTF models!    <span style="font-family:"Segoe UI Emoji",sans-serif">😊</span><u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="2" type="a"><li style="margin-left:0in">Do we need to consider a new profile?  This adds much attendant overhead for implementers, and baggage for tools to keep track of, but might result in simplicity if use cases for a given community are well defined enough to show that the profile indeed adds value.<u></u><u></u></li></ol><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Always a perennial topic of interest, always a high hurdle to show that sufficient benefit results from a major change.  Good discussion occurred, leading to the following.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="3" type="a"><li style="margin-left:0in">Add glTF to Interactive and Interchange profile?  Interesting that our prior motivations of not breaking browser support (e.g. “no changes to Interchange”) might be balanced with making X3D inclusion of glTF more appealing to new adopters.<u></u><u></u></li></ol><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">This seems like a promising avenue to pursue further.  Integrating glTF more fully into X3D infrastructure holds much promise.  Minor changes to X3D Architecture would be needed but likely provide big payoff.  This would first be an X3D Recommended Practice, eventually leading to X3D amendment at ISO.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Next discussion: what exactly is Web3D strategy regarding deployment, testing and adoption of new capabilities?<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="4" type="a"><li style="margin-left:0in">Encouraging browser permissiveness, i.e. rendering what they can while not blocking for what they can’t<u></u><u></u></li></ol><ol style="margin-top:0in" start="1" type="a"><ul style="margin-top:0in" type="disc"><li>if profile=Full then do not report “capability not supported” unless there x3d nodes in the file are indeed not supported<u></u><u></u></li><li>if profile is less that actual content, but browser supports it, then render with no more than a warning (i.e. don’t be overly strict)<u></u><u></u></li><li>Note that unsupported capabilities won’t render correctly, causing frustration… decision on when to issue warnings and when to fail is left up to browsers, since X3D does not impose requirements (potential performance burdens) on error handling.<u></u><u></u></li></ul></ol><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="5" type="a"><li style="margin-left:0in">Full profile always includes everything… meaning an author producing a model only has to be correct and valid X3D without having to worry about getting profile and component statements sliced and diced correctly.  A permissive approach by browsers to permit content (even if only partially supported at the moment) encourages authors to use profile=Full regardless of other concerns, supporting long-term workability of models independent of evolution of browser capabilities over time.<u></u><u></u></li><li style="margin-left:0in">Do we need someone to look at MPEG4 again, is anything happening over there that we should consider?<u></u><u></u></li></ol><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Group assessment: current X3D profile and component architecture design is flexible, descriptive, concise, and sound overall.  No fundamental changes needed at all.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Near-term options:<u></u><u></u></p><ul style="margin-top:0in" type="disc"><li style="margin-left:0in">Encourage correct profile/component combinations are provided in X3D model content<u></u><u></u></li><li style="margin-left:0in">Our recommended practices and examples should be much clearer about how authors can use glTF in X3D<u></u><u></u></li><li style="margin-left:0in">Consider additional profiles?  None yet specifically proposed… so not now.<u></u><u></u></li><li style="margin-left:0in">Push glTF into other profiles, e.g. Interchange, Interactive, Immersive, Medical, CADInterchange?   Hmmm…<u></u><u></u></li><li style="margin-left:0in">Similarly consider upgrading some of the components (e.g. Geospatial) by revising component prerequisites corresponding to glTF.<u></u><u></u></li><li style="margin-left:0in">Must be careful about modifying past components since that might cause backwards incompatibility.<u></u><u></u></li><li style="margin-left:0in">What do implementers think?<u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="2" type="1"><li>TODO for future meeting: lay down X3D Recommended Practices page.<u></u><u></u></li></ol><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="3" type="1"><li>Other activity:<u></u><u></u></li></ol><p><u></u> <u></u></p><ol style="margin-top:0in" start="1" type="a"><li style="margin-left:0in">Good progress resuming unit testing of X3D Examples conversion from XML (.x3d) to produce Classic VRML (.x3dv) and VRML97 (.wrl) using the newly-renamed Castle Model Viewer.  Ongoing progress results maintained in sourceforge version control and visible at<u></u><u></u></li></ol><p><u></u> <u></u></p><ul style="margin-top:0in" type="disc"><li style="margin-left:0in"><a href="https://www.web3d.org/x3d/content/examples/build.x3dv.all.log.txt" target="_blank">https://www.web3d.org/x3d/content/examples/build.x3dv.all.log.txt</a><u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/x3d/content/examples/build.vrml97.all.log.txt" target="_blank">https://www.web3d.org/x3d/content/examples/build.vrml97.all.log.txt</a><u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="2" type="a"><li style="margin-left:0in">We are preparing a quarterly update release of X3D-Edit.<u></u><u></u></li></ol><p class="MsoNormal"><u></u> <u></u></p><ol style="margin-top:0in" start="3" type="a"><li style="margin-left:0in">Dick and I continue updating two draft ISO specifications, with all improvements scrupulously documented in Web3D Issue Tracker.  Specification comments always welcome.<u></u><u></u></li></ol><p class="MsoNormal"><u></u> <u></u></p><ul style="margin-top:0in" type="disc"><li style="margin-left:0in">X3D XML Encoding<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19776-1v4.0-WD1/Part01/X3D_XML.html" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19776-1v4.0-WD1/Part01/X3D_XML.html</a><u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><ul style="margin-top:0in" type="disc"><li style="margin-left:0in">X3D Classic VRML Encoding<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19776-2v4.0-WD1/Part02/X3D_ClassicVRML.html" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19776-2v4.0-WD1/Part02/X3D_ClassicVRML.html</a><u></u><u></u></li></ul><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Have fun with X3D4!  8)<u></u><u></u></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">all the best, Don<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">-- <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">Don Brutzman  Naval Postgraduate School, Code USW/Br        <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">X3D graphics, virtual worlds, navy robotics <a href="https://faculty.nps.edu/brutzman" target="_blank">https://faculty.nps.edu/brutzman</a><u></u><u></u></span></p><p class="MsoNormal"><u></u> <u></u></p></div></div>_______________________________________________<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" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</div></blockquote></div>
</blockquote></div>
</blockquote></div></div></div>
</blockquote></div>