<div><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jun 27, 2024 at 7:00 PM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">I’m looking forward to using the new material extensions on my “Rhodonea” surfaces.</div><div dir="auto"><br></div><div dir="auto">I see several outstanding points I have for X3D:</div><div dir="auto"><br></div><div dir="auto">2.  X3DOM has subdivision.  Ideally, I wouldn’t have to create my own grid subdivisions.  Maybe NURBS might help.  I’m not really looking for splines, but “repeated geometry” similar to repeated texture would be useful, especially in spherical coordinates (greater than 2 pi radians).  For *one* Shape.  I have a “repeated” Sphere in mind.</div></blockquote><div dir="auto"><br></div><div dir="auto">With the “repeated Sphere,” it would be interesting to specify the max and min of theta and phi in spherical coordinates.  Then perhaps a theta increment by phi increment “cell” size.  Then I morph the surface with shader parameters.  Providing different shader parameters to each GPU instance is key here.  Not just shader parameters for a single surface.</div><div dir="auto"><br></div><div dir="auto">So there’s a repeated instance shape and extending a mathematical domain of each instance.</div><div dir="auto"><br></div><div dir="auto">John </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jun 27, 2024 at 2:43 PM 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-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">




<div dir="ltr">
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Great dialog, insights, efforts, and results - thanks!</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
We have a "short list" of key items for X3D4.1 now in Mantis.  This would be important to add, as well as review of Browser options.</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<ul style="margin-top:0px;margin-bottom:0px;list-style-type:disc">
<li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Mantis 1464: candidate features for X3D 4.1</div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<a href="https://www.web3d.org/member-only/mantis/view.php?id=1464" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif" target="_blank">https://www.web3d.org/member-only/mantis/view.php?id=1464</a></div>
</li></ul>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<ul style="margin-top:0px;margin-bottom:0px;list-style-type:disc">
<li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div style="margin:0px;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Mantis 1465: candidate features for HAnim 2.1</div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<a href="https://www.web3d.org/member-only/mantis/view.php?id=1465" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif" target="_blank">https://www.web3d.org/member-only/mantis/view.php?id=1465</a></div>
</li></ul>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
As we pursue updating multiple file encodings and programming-language bindings, our review cycle will get shorter.  It took us ten years to do everything in X3D 4.0 and we have succeeded well.  I think that we can reduce that to under 2 years for all X3D specifications
 reaching 4.0 alignment, and am optimistic we might achieve a 1-year revision cycle after that.  We shall see...</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<ul style="margin-top:0px;margin-bottom:0px;list-style-type:disc">
<li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
X3D Graphics Standards Relationships</div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<a href="https://www.web3d.org/specifications/X3dGraphicsStandardsRelationships.png" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif" target="_blank">https://www.web3d.org/specifications/X3dGraphicsStandardsRelationships.png</a></div>
</li></ul>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Have fun with X3D, glTF, HTML5, CSS, and the Web!  🙂</div>
<div id="m_-7770799782147863149m_-51257543538441144Signature">
<p style="margin:0in;font-family:Calibri,sans-serif;font-size:11pt"><span style="font-family:"Courier New";font-size:9pt"> </span></p>
<p style="margin:0in;font-family:Calibri,sans-serif;font-size:11pt"><span style="font-family:"Courier New";font-size:9pt">all the best, Don</span></p>
<p style="margin:0in;font-family:Calibri,sans-serif;font-size:11pt"><span style="font-family:"Courier New";font-size:9pt">--</span></p>
<p style="margin:0in;font-family:Calibri,sans-serif;font-size:11pt"><span style="font-family:"Courier New";font-size:9pt">Don Brutzman  Naval Postgraduate School, Code USW/Br        <a href="mailto:brutzman@nps.edu" style="font-family:"Courier New"" target="_blank">brutzman@nps.edu</a></span></p>
<p style="margin:0in;font-family:Calibri,sans-serif;font-size:11pt"><span style="font-family:"Courier New";font-size:9pt">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149</span></p>
<p style="margin:0in;font-family:Calibri,sans-serif;font-size:11pt"><span style="font-family:"Courier New";font-size:9pt">X3D graphics, virtual worlds, navy robotics <a href="https://faculty.nps.edu/brutzman" style="font-family:"Courier New"" target="_blank">https://faculty.nps.edu/brutzman</a></span></p>
<p style="margin:0in;font-family:Calibri,sans-serif;font-size:11pt"><span style="font-family:"Courier New";font-size:9pt"> </span></p>
</div>
<div id="m_-7770799782147863149m_-51257543538441144appendonsend"></div>
<hr style="display:inline-block;width:98%">
<div id="m_-7770799782147863149m_-51257543538441144divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0)"><b style="font-family:Calibri,sans-serif">From:</b> x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" style="font-family:Calibri,sans-serif" target="_blank">x3d-public-bounces@web3d.org</a>> on behalf of Michalis Kamburelis via x3d-public <<a href="mailto:x3d-public@web3d.org" style="font-family:Calibri,sans-serif" target="_blank">x3d-public@web3d.org</a>><br>
<b style="font-family:Calibri,sans-serif">Sent:</b> Thursday, June 27, 2024 5:55 AM<br>
<b style="font-family:Calibri,sans-serif">To:</b> Holger Seelig <<a href="mailto:holger.seelig@yahoo.de" style="font-family:Calibri,sans-serif" target="_blank">holger.seelig@yahoo.de</a>><br>
<b style="font-family:Calibri,sans-serif">Cc:</b> Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com" style="font-family:Calibri,sans-serif" target="_blank">michalis.kambi@gmail.com</a>>; X3D <<a href="mailto:x3d-public@web3d.org" style="font-family:Calibri,sans-serif" target="_blank">x3d-public@web3d.org</a>><br>
<b style="font-family:Calibri,sans-serif">Subject:</b> Re: [x3d-public] X_ITE implementation of glTF material extensions</font>
<div> </div>
</div>
<div><font size="2" style="color:rgb(0,0,0)"><span style="font-size:11pt">
<div>Thank you for the answers!<br>
<br>
As for KHR_materials_pbrSpecularGlossiness:<br>
<br>
Indeed some Sketchfab models use KHR_materials_pbrSpecularGlossiness ,<br>
as internal Sketchfab exporter uses it in some cases. It seems<br>
Sketchfab didn't update their tools to follow Khronos recommendations<br>
(to use KHR_materials_specular instead of<br>
KHR_materials_pbrSpecularGlossiness). Which is also understandable --<br>
I don't think there's a straightforward conversion that exactly<br>
preserves look from KHR_materials_pbrSpecularGlossiness to<br>
KHR_materials_specular, even though they fulfill the same use-case. So<br>
Sketchfab doesn't want to break compatibility (look of models).<br>
<br>
That is why I wondered to implement<br>
KHR_materials_pbrSpecularGlossiness in some way, though for now just<br>
recommend users to ask model authors to not use this material type --<br>
<a href="https://castle-engine.io/sketchfab" target="_blank">https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcastle-engine.io%2Fsketchfab&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445416382%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=%2Ftg7ihNiwkB8TBYEPXtQ97%2BEoTyWLYeGJIF1YrVF0Q4%3D&reserved=0</a>
 . It's on our page about Sketchfab<br>
integration, because that's where users in practice encounter this<br>
issue :)<br>
<br>
All good, I mean it is of course a practical and valid decision to<br>
support KHR_materials_pbrSpecularGlossiness (by equivalent in X3D<br>
SpecularGlossinessMaterial) for the time being, since real models use<br>
it, despite what Khronos recommends. Thanks for the explanation!<br>
<br>
As for unlit:<br>
<br>
The "unlit" field in X3DOM PhysicalMaterial (<br>
<a href="https://doc.x3dom.org/developer/x3dom/nodeTypes/PhysicalMaterial.html" target="_blank">https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdoc.x3dom.org%2Fdeveloper%2Fx3dom%2FnodeTypes%2FPhysicalMaterial.html&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445426280%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=ycDjIj5AsbkDSrKxONqtRKY0cCeyidFmCaICDZzOHPo%3D&reserved=0</a><br>
) -- I'm not sure, but I think it predates the X3D 4.0 and<br>
UnlitMaterial node. X3DOM doesn't implement UnlitMaterial for now at<br>
all, looking at docs ( <a href="https://doc.x3dom.org/developer/classes.html" target="_blank">https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdoc.x3dom.org%2Fdeveloper%2Fclasses.html&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445432917%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=LEZ24s29Q5%2FSenOyOY09x8vrPWrzW3H4mvxVRVPafuo%3D&reserved=0</a>
 )<br>
.<br>
<br>
So here I would vote for sticking to the standard, in both X3DOM and<br>
X_ITE :) That is, UnlitMaterial should fulfill the need to translate<br>
glTF unlit materials to X3D, and is simpler. X3DOM's<br>
PhysicalMaterial.unlit, and X_ITE UnlitMaterialExtension, can<br>
hopefully always be replaced by using UnlitMaterial.<br>
<br>
As for sRGB workflow:<br>
<br>
It is indeed not specified in X3D. X3DOM has their extension to<br>
specify it ( <a href="https://doc.x3dom.org/tutorials/lighting/gamma/" target="_blank">https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdoc.x3dom.org%2Ftutorials%2Flighting%2Fgamma%2F&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445437999%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=wTGvUsCy%2FbdReBVxzXwo4wkgZDoF20C%2F44WMaZtBUj8%3D&reserved=0</a>
 ). Castle<br>
Game Engine uses linear workflow it too ( though by default only for<br>
PhysicalMaterial, see <a href="https://castle-engine.io/color_space" target="_blank">https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcastle-engine.io%2Fcolor_space&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445442293%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=TAyv%2F63ibcFv1%2BF0ik6mqafjUHcsc9AltL7T2cRC7Kw%3D&reserved=0</a>
 , but you<br>
can make it used always, it should actually affect Material and<br>
UnlitMaterial too ). See<br>
<a href="https://github.com/michaliskambi/x3d-tests/wiki/Gamma-correction-in-X3D-and-glTF" target="_blank">https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmichaliskambi%2Fx3d-tests%2Fwiki%2FGamma-correction-in-X3D-and-glTF&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445446407%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=vcx8ll0SNiG4PShgmttQk2EoUOh7R6jBAob6T3oFy60%3D&reserved=0</a><br>
, <a href="https://github.com/michaliskambi/x3d-tests/wiki/Gamma-Correction-in-Future-X3D" target="_blank">
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmichaliskambi%2Fx3d-tests%2Fwiki%2FGamma-Correction-in-Future-X3D&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445450465%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=C5zee29tpgqJnhW8Jx2FmI4yFIY%2Fvtmxybu8i%2B0kbVU%3D&reserved=0</a><br>
for my knowledge.<br>
<br>
I was recommending a "cautious" approach in X3D 4.0 here, because just<br>
saying "use linear workflow for everything, like glTF" *will* change<br>
the look of the existing models. But I think in the end we are in<br>
situation when this is not specified, and everyone does something a<br>
bit different. All in all, we should just all switch to "use linear<br>
workflow for everything, like glTF" .<br>
<br>
So, I'm older and wiser now :), and today I'm all after changing X3D<br>
spec to just say it. That is, simply "use linear workflow for<br>
everything, like glTF". The more exact wording what it should mean are<br>
on <a href="https://github.com/michaliskambi/x3d-tests/wiki/Gamma-correction-in-X3D-and-glTF" target="_blank">
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmichaliskambi%2Fx3d-tests%2Fwiki%2FGamma-correction-in-X3D-and-glTF&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445454486%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=rPvIE%2FTXkJVK9fKqPkX2AGHsyLEl85AQs3xLBENNcIY%3D&reserved=0</a><br>
, <a href="https://github.com/michaliskambi/x3d-tests/wiki/Gamma-Correction-in-Future-X3D" target="_blank">
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmichaliskambi%2Fx3d-tests%2Fwiki%2FGamma-Correction-in-Future-X3D&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445458554%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=bDfwL2RaR9M2zMWa6yive5e5ODLSwGt0oTO9cL1EhOc%3D&reserved=0</a><br>
, these were made looking at glTF and they just seem to make sense.<br>
<br>
Regards,<br>
Michalis<br>
<br>
śr., 26 cze 2024 o 17:48 Holger Seelig <<a href="mailto:holger.seelig@yahoo.de" target="_blank">holger.seelig@yahoo.de</a>> napisał(a):<br>
><br>
> I have added SpecularGlossinessMaterial, as there are models on the internet that use it (sketchfab), so that these models can also be displayed. X3DOM also has a way to display this material. Furthermore, it is apparently not possible to convert this material
 with the associated textures by using PhysicalMaterial.<br>
><br>
> I added UnlitMaterialExtension for now, because X3DOM also has an *unlit* field in PhysicalMaterial.<br>
><br>
> <a href="https://doc.x3dom.org/developer/x3dom/nodeTypes/PhysicalMaterial.html" target="_blank">
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdoc.x3dom.org%2Fdeveloper%2Fx3dom%2FnodeTypes%2FPhysicalMaterial.html&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445462660%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=Gx7yVm%2Bl29%2BSS9Uwc9E0QcqBRzjSzidyAWIO2T2bgm0%3D&reserved=0</a><br>
><br>
> An important aspect is also the sRGB workflow, which is specified in PhysicalMaterial, but is not mentioned in X3D (or are there texts about it).<br>
><br>
> Best regards,<br>
> Holger<br>
><br>
> --<br>
> Holger Seelig<br>
> Leipzig, Germany<br>
><br>
> <a href="mailto:holger.seelig@yahoo.de" target="_blank">holger.seelig@yahoo.de</a><br>
> <a href="https://create3000.github.io/x_ite/" target="_blank">https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2F&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445467284%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=SCudt9wpdP8CKxvd5ts03wyCQs3Oo6HsqiIX0u9Gmbw%3D&reserved=0</a><br>
><br>
> Am 26.06.2024 um 14:54 schrieb Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com" target="_blank">michalis.kambi@gmail.com</a>>:<br>
><br>
> Great news! I'm reading your node docs, excellent work in getting this<br>
> specified and implemented!<br>
><br>
> I have a plan to implement these material extensions in Castle Game<br>
> Engine / Castle Model Viewer as well (<br>
> <a href="https://castle-engine.io/roadmap#gltf_material_features" target="_blank">https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcastle-engine.io%2Froadmap%23gltf_material_features&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445471354%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=VSgDLY6hZyCcAM6K%2BcZ7lhUTB2UP7c68HWWHDTQB%2B1M%3D&reserved=0</a>
 ). Looks like<br>
> you beat me to it with X_ITE, and it makes me very happy :)  (Also<br>
> because it means I can look at your nodes and code and my task is much<br>
> easier :) ).<br>
><br>
> Some initial thoughts about the spec of new functionality:<br>
><br>
> 1. Expressing functionality as "extensions" of PhysicalMaterial (I see<br>
> you have "PhysicalMaterial.extensions", MFNode with<br>
> X3DMaterialExtensionNode,<br>
> <a href="https://create3000.github.io/x_ite/components/shape/physicalmaterial/" target="_blank">
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2Fcomponents%2Fshape%2Fphysicalmaterial%2F&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445475376%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=ZU1EhPuk5jgEqGgVJQCoLCqgn2MZmBp2ulI1p%2B6g0M0%3D&reserved=0</a><br>
> ):<br>
><br>
>    This is great solution, this expressed the intention nicely (this<br>
> information is extra data, "extension", and without it things look<br>
> worse but make sense).<br>
><br>
>    I'm looking at this both from Castle Game Engine / Castle Model<br>
> Viewer author perspective, also from the perspective of future X3D<br>
> versions. A lot of your extensions, including the<br>
> "PhysicalMaterial.extensions" field and nodes like<br>
> SheenMaterialExtension, ClearcoatMaterialExtension could definitely be<br>
> part of future X3D (4.1?) version.<br>
><br>
> 2. Comments specifically about SpecularGlossinessMaterial (<br>
> <a href="https://create3000.github.io/x_ite/components/x-ite/specularglossinessmaterial/" target="_blank">
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2Fcomponents%2Fx-ite%2Fspecularglossinessmaterial%2F&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445479386%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=WQHxMbGDCZ%2FM7MiutqC%2B096YZxqBW2HY6tQC9bcFchQ%3D&reserved=0</a><br>
> ):<br>
><br>
>    Note that KHR_materials_pbrSpecularGlossiness is deprecated, and<br>
> the recommendation is to follow instead KHR_materials_specular which<br>
> addresses a similar use-case. In Castle Game Engine / Castle Model<br>
> Viewer we deliberately decided, for this reason, to not support<br>
> KHR_materials_pbrSpecularGlossiness and just explain it to users (<br>
> <a href="https://castle-engine.io/sketchfab" target="_blank">https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcastle-engine.io%2Fsketchfab&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445483438%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=XMJOR%2BKshEnRkqeBquF0zMlGjoSYvzmpfrGncKM3InQ%3D&reserved=0</a>
 ).</div></span></font></div></div><div dir="ltr"><div><font size="2" style="color:rgb(0,0,0)"><span style="font-size:11pt"><div><br>
><br>
>    I of course understand it is a practical decision, if your users<br>
> demand KHR_materials_pbrSpecularGlossiness then<br>
> SpecularGlossinessMaterial makes sense. I'm just saying that this<br>
> should probably not go to future X3D spec.<br>
><br>
>    Just like Khronos recommends KHR_materials_specular over<br>
> KHR_materials_pbrSpecularGlossiness, we should in X3D recommend<br>
> SpecularMaterialExtension over SpecularGlossinessMaterial.<br>
><br>
> 3. I see you added also UnlitMaterialExtension, can you expand why do<br>
> you need it?<br>
><br>
>    I know your approach is a bit more consistent with glTF, that has<br>
> "physical material with KHR_materials_unlit".<br>
><br>
>    That said, I deliberately deviated here for X3D 4.0, adding<br>
> instead a separate node "UnlitMaterial". "UnlitMaterial" does feel<br>
> more natural -- being unlit is, conceptually, not an extension of PBR<br>
> lighting equations (or PBR specular, or Phong lighting equations...).<br>
> Being unlit means you throw away the usual lighting equations, and<br>
> just have very simple situation where resulting color is emissiveColor<br>
> * optional emissiveTexture. This makes "UnlitMaterial" spec simple,<br>
> this also sidesteps glTF question (that used to be ambiguous in older<br>
> glTF spec version) of how to combine glTF base and emissive color in<br>
> case of KHR_materials_unlit (because in X3D, we just have<br>
> "UnlitMaterial" with "UnlitMaterial,emissiveColor" -- it's simpler),<br>
> this also allows natural optimizations on the renderer side (unlit can<br>
> use completely different set of simple shaders).<br>
><br>
>    So ideally, I see "UnlitMaterial" as X3D-equivalent of<br>
> "KHR_materials_unlit". If there is a need for UnlitMaterialExtension,<br>
> I'm curious to know why, and can we avoid it, to keep X3D spec simple<br>
> :)<br>
><br>
> Many thanks for your work. This is great advancement for X3D! I<br>
> absolutely recommend everyone on this list to click on Holger's links<br>
> to demos and extensions, we absolutely should look at this<br>
> functionality as potentially becoming available in other X3D browsers<br>
> (I will definitely want to implement (subset of it) in Castle Game<br>
> Engine / Castle Model Viewer) and in future X3D spec versions.<br>
><br>
> Best regards,<br>
> Michalis<br>
><br>
><br>
> wt., 25 cze 2024 o 11:52 Holger Seelig via x3d-public<br>
> <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>> napisał(a):<br>
><br>
><br>
> With the current release v10.0.1, all glTF material extensions are now available, i.e. when a glTF file is parsed, these extensions are automatically converted to X3D. There is now an X3D node for each glTF extension. These nodes can also be referenced directly
 in X3D files. Extensions for glTF materials are converted to the new X3DMaterialExtensionNode nodes, which can be used as a child of PhysicalMaterial node and the new SpecularGlossinessMaterial node. These material nodes now have a new field »extensions« for
 this purpose. The introduction of the »extensions« field has only a minimal impact and leads to the greatest possible compatibility.<br>
><br>
> To get an idea of what a great difference these new material extensions make, check out our glTF Sample Viewer. Take some time and look through all the examples. I am sure you will be amazed.<br>
><br></div></span></font></div></div><div dir="ltr"><div><font size="2" style="color:rgb(0,0,0)"><span style="font-size:11pt"><div>
> <a href="https://create3000.github.io/x_ite/laboratory/gltf-sample-viewer/" target="_blank">https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2Flaboratory%2Fgltf-sample-viewer%2F&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445487433%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=mA4Q2TCBwOiHdq7NqN6Hed94vavD6wWVHskOQjBsT7s%3D&reserved=0</a><br>
><br>
> Here are three selected examples, but there are many more:<br>
><br>
> <a href="https://create3000.github.io/x_ite/laboratory/gltf-sample-viewer/?url=AnisotropyBarnLamp" target="_blank">
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2Flaboratory%2Fgltf-sample-viewer%2F%3Furl%3DAnisotropyBarnLamp&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445491493%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=aUnIvjurvj5uz8jX5ObMWIWOvJYDJe5jqK7UkbEznio%3D&reserved=0</a><br>
> <a href="https://create3000.github.io/x_ite/laboratory/gltf-sample-viewer/?url=DragonAttenuation" target="_blank">
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2Flaboratory%2Fgltf-sample-viewer%2F%3Furl%3DDragonAttenuation&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445495570%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=KwcFkz0aXuZtx6gx8nSQViVDFCD67H4tE7yDAk8RbOU%3D&reserved=0</a><br>
> <a href="https://create3000.github.io/x_ite/laboratory/gltf-sample-viewer/?url=MosquitoInAmber" target="_blank">
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2Flaboratory%2Fgltf-sample-viewer%2F%3Furl%3DMosquitoInAmber&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445499683%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=oo6h636Uc0gdEICk1uI0BaH0kaD5D7rbBo7oXnYY1C8%3D&reserved=0</a><br>
> <a href="https://create3000.github.io/x_ite/laboratory/gltf-sample-viewer/?url=ToyCar" target="_blank">
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2Flaboratory%2Fgltf-sample-viewer%2F%3Furl%3DToyCar&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445503812%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=%2BxmVBXKgtrHD75UF45AyWrSrMFphocVdRCSi%2BwbXMqI%3D&reserved=0</a><br>
><br>
> Implemented glTF Extensions:<br>
><br>
> All glTF extensions implemented with this version are listed below:<br>
><br>
> X3DOneSidedMaterialNode<br>
><br>
> * KHR_materials_pbrSpecularGlossiness implemented as SpecularGlossinessMaterial node.<br>
><br>
> X3DMaterialExtensionNode<br>
><br>
> * KHR_materials_anisotropy implemented as AnisotropyMaterialExtension node.<br>
> * KHR_materials_clearcoat implemented as ClearcoatMaterialExtension node.<br>
> * KHR_materials_dispersion implemented as DispersionMaterialExtension node.<br>
> * KHR_materials_emissive_strength implemented as EmissiveStrengthMaterialExtension node.<br>
> * KHR_materials_ior implemented as IORMaterialExtension node.<br>
> * KHR_materials_iridescence implemented as IridescenceMaterialExtension node.<br>
> * KHR_materials_sheen implemented as SheenMaterialExtension node.<br>
> * KHR_materials_specular implemented as SpecularMaterialExtension node.<br>
> * KHR_materials_transmission implemented as TransmissionMaterialExtension node.<br>
> * KHR_materials_unlit implemented as UnlitMaterialExtension node.<br>
> * KHR_materials_volume implemented as VolumeMaterialExtension node.<br>
><br>
> Switch<br>
><br>
> * KHR_materials_variants implemented as Switch node.<br>
><br>
> These new nodes are initially available in the X_ITE component and documented here:<br>
> <a href="https://create3000.github.io/x_ite/components/#x_ite" target="_blank">https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2Fcomponents%2F%23x_ite&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445507929%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=kxcbYApF%2FS3qw0jpFEHyutOyNyEgWmZ8w0ARtEj7mNg%3D&reserved=0</a><br>
><br>
> Make X3D even better!<br>
> Best regards,<br>
> Holger<br>
><br>
> --<br>
> Holger Seelig<br>
> Leipzig, Germany<br>
><br>
> <a href="mailto:holger.seelig@yahoo.de" target="_blank">holger.seelig@yahoo.de</a><br>
> <a href="https://create3000.github.io/x_ite/" target="_blank">https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2F&data=05%7C02%7Cbrutzman%40nps.edu%7C6164e4e4a06f4b25416c08dc96a8ad43%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638550898445512293%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=EG%2BgDIOo0g%2BxyZxAXRmOBBR3xxcJpHYuSywKV3RVbts%3D&reserved=0</a></div></span></font></div></div><div dir="ltr"><div><font size="2" style="color:rgb(0,0,0)"><span style="font-size:11pt"><div><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>
<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>
</div>
</span></font></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>
</blockquote></div></div>
</blockquote></div></div>