<div><div dir="auto">Ok. I would like to have a prismatic effect, with IOR—chromatic dispersion within 2-4% of 1. I don’t see anything that says I can do an interval of IOR in OpenPBR. I realize that there are probably other ways to achieve rainbows, like with CDs, but I want to look out of my surface and see prismatic color.</div><div dir="auto"><br></div><div dir="auto">I currently have 3 chromatic dispersion factors, 0.98, 1 and 1.033. How does OpenPBR model that, and when can I move to a declarative solution?</div><div dir="auto"><br></div><div dir="auto">Maybe I’ll be keeping my shaders a while longer.</div><div dir="auto"><br></div><div dir="auto">This is one reason I have not gone whole hog into Blender. I realize I can likely combine 3 IORs in a node system, but I want to export to X3D, so I’ll have to figure out nodes sometime.</div><div dir="auto"><br></div><div dir="auto">PS: it sure would be grand to have an interval of varying dispersions. Maybe min, max and interpolate would solve my problem? Can I send a varying IOR?</div><div dir="auto"><br></div><div dir="auto">Any work on prismatic materials that doesn’t require low level coding would be great. I’ve seen Fresnel and Holger’s particle system, and even got my own particle system working. The problem is sending 6 different varying shader parameters for each particle to the vertex shader over time! My own parameters! So yeah, I can do it if I don’t have to pass differ parameters to each instance over time.</div><div dir="auto"><br></div><div dir="auto">Here’s my best sample yet (alas, Three.js): <div dir="auto"><a href="https://coderextreme.net/assetmanager/">https://coderextreme.net/assetmanager/</a> the awesome part of this port from nim was I just had to change the environment map code et voila! All the JavaScript got ported without errors.</div></div><div dir="auto"><br></div><div dir="auto">Seriously, let’s throw some hard stuff at my graphics card!</div><div dir="auto"><br></div><div dir="auto">If someone wants to propose a PhysicsModel with 6 varying parameters sent to a shader, great!</div><div dir="auto"><br></div><div dir="auto">Yes, I’ve been asking for random numbers for a long time…I’d like to avoid script…</div><div dir="auto"><br></div><div dir="auto">If we can match THREE.js performance, great!</div><div dir="auto"><br></div><div dir="auto">Maybe I should port the THREE.js code to X3D. Hmm!</div><div dir="auto"><br></div><div dir="auto">John </div></div><div><div dir="auto"><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Fri, May 2, 2025 at 4:59 AM 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-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="auto">The only real problem I’ve discovered is some .gltf and .glb files require an EnvironmentLight outside the glTF file in the X3D file in Holger’s browsers (create3000). I believe this is well documented.</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">Holger also has more support for Khronos PBR (not sure if it’s OpenPBR) than X3D4.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Apr 30, 2025 at 7:54 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)">
Thanks Joe. Looks pretty spectacular!</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)">
Given that these are .glb (glTF binary) models, I suspect that X3D4-capable browsers might be able to load them too via the X3D Inline node. Nothing forbids that...</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)">
Looking ahead, if we want to formalize support for things like OpenPBR and a variety of glTF extensions in X3D 4.1 someday, that will likely be straightforward to accomplish when the time comes.</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)">
Have fun with advanced rendering in glTF and X3D! 🙂</div>
<div id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036Signature">
<p style="margin:0in;font-family:Calibri,sans-serif;font-size:11pt"><span style="font-family:"Courier New";font-size:9pt"><br>
</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_-1091107290713277741m_-3104892756697655981m_4325423795388630036appendonsend"></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<hr style="display:inline-block;width:98%">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<b style="font-family:Calibri,Arial,Helvetica,sans-serif">From:</b> x3d-public on behalf of Joe D Williams via x3d-public<br>
<b style="font-family:Calibri,Arial,Helvetica,sans-serif">Sent:</b> Wednesday, April 30, 2025 1:03 PM<br>
<b style="font-family:Calibri,Arial,Helvetica,sans-serif">To:</b> <a href="mailto:x3d-public@web3d.org" style="font-family:Calibri,Arial,Helvetica,sans-serif" target="_blank">x3d-public@web3d.org</a><br>
<b style="font-family:Calibri,Arial,Helvetica,sans-serif">Cc:</b> Joe D Williams<br>
<b style="font-family:Calibri,Arial,Helvetica,sans-serif">Subject:</b> [x3d-public] MaterialX and glTF PBR </div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-size:11pt">You can view the Chess Set in the Web MaterialX viewer here:<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<a href="https://academysoftwarefoundation.github.io/MaterialX/" id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036LPlnk813755" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif" target="_blank">https://academysoftwarefoundation.github.io/MaterialX/</a></div>
<div style="width:100%;display:inline-block">
<div id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036LPBorder_GTaHR0cHM6Ly9hY2FkZW15c29mdHdhcmVmb3VuZGF0aW9uLmdpdGh1Yi5pby9NYXRlcmlhbFgv" style="width:100%;margin-top:16px;margin-bottom:16px;max-width:800px;min-width:424px">
<table id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036LPContainer261262" role="presentation" style="padding:12px 36px 12px 12px;width:100%;border-width:1px;border-style:solid;border-radius:2px;border-color:rgb(200,200,200)">
<tbody>
<tr valign="top" style="border-spacing:0px">
<td style="width:100%">
<div id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036LPTitle261262" style="font-size:21px;font-weight:300;margin-right:8px;font-family:wf_segoe-ui_light,"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;margin-bottom:12px">
<a id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036LPUrlAnchor261262" href="https://academysoftwarefoundation.github.io/MaterialX/" style="text-decoration:none;font-family:wf_segoe-ui_light,"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;color:var(--themePrimary)" target="_blank">MaterialX Web Viewer - GitHub Pages</a></div>
<div id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036LPDescription261262" style="font-size:14px;max-height:100px;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;margin-bottom:12px;margin-right:8px;overflow:hidden;color:rgb(102,102,102)">
MaterialX Web Viewer - GitHub Pages ... Material: ...</div>
<div id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036LPMetadata261262" style="font-size:14px;font-weight:400;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;color:rgb(166,166,166)">
<a href="http://academysoftwarefoundation.github.io" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif" target="_blank">academysoftwarefoundation.github.io</a></div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-size:11pt"><br>
Pick material: standard_surface_chess_set.mtlx<br>
<br>
Pick geometry: chess_set.glb<br>
</div>
<div style="font-size:11pt">OpenPBR spec: <span style="color:rgb(0,0,0)">
<a href="https://academysoftwarefoundation.github.io/OpenPBR/" id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036LPlnk263054" target="_blank">https://academysoftwarefoundation.github.io/OpenPBR/</a></span></div>
<div style="width:100%;display:inline-block">
<div id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036LPBorder_GTaHR0cHM6Ly9hY2FkZW15c29mdHdhcmVmb3VuZGF0aW9uLmdpdGh1Yi5pby9PcGVuUEJSLw.." style="width:100%;margin-top:16px;margin-bottom:16px;max-width:800px;min-width:424px">
<table id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036LPContainer634758" role="presentation" style="padding:12px 36px 12px 12px;width:100%;border-width:1px;border-style:solid;border-radius:2px;border-color:rgb(200,200,200)">
<tbody>
<tr valign="top" style="border-spacing:0px">
<td style="width:100%">
<div id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036LPTitle634758" style="font-size:21px;font-weight:300;margin-right:8px;font-family:wf_segoe-ui_light,"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;margin-bottom:12px">
<a id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036LPUrlAnchor634758" href="https://academysoftwarefoundation.github.io/OpenPBR/" style="text-decoration:none;font-family:wf_segoe-ui_light,"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;color:var(--themePrimary)" target="_blank">academysoftwarefoundation.github.io</a></div>
<div id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036LPDescription634758" style="font-size:14px;max-height:100px;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;margin-bottom:12px;margin-right:8px;overflow:hidden;color:rgb(102,102,102)">
Unfortunately, the original model suffers from artifacts and also does not conserve energy (i.e. is too dark). We thus opt to define the diffuse BRDF to be a popular improved version of Oren-Nayar introduced by Fujii [#Fujii2012], augmented with a simple analytical,
reciprocal energy compensation term: \begin{eqnarray} \label{EON_brdf} f_\mathrm{diffuse}(\omega_i, \omega_o) = f_\mathrm{ON ...</div>
<div id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036LPMetadata634758" style="font-size:14px;font-weight:400;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;color:rgb(166,166,166)">
<a href="http://academysoftwarefoundation.github.io" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif" target="_blank">academysoftwarefoundation.github.io</a></div>
</td>
</tr>
</tbody>
</table>
</div>
</div></div><div dir="ltr">
<div style="font-size:11pt"><br>
from MSF 3D Asset Interoperability using USD and glTF working group<br>
feature MaterialX status and glTF PBR status and collaborations<br>
Continued serious work on Shader Translation Graphs to map between models.<br>
<br>
Thanks,<br>
Joe<br>
<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" id="m_-1091107290713277741m_-3104892756697655981m_4325423795388630036OWA7aa03090-d8f3-233e-e03a-3cb72f819eab" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</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>
</div>