[x3d-public] OpenPBR; Chromatic Refractive Dispersion; Random Numbers for particle system shaders.
John Carlson
yottzumm at gmail.com
Fri May 2 04:25:10 PDT 2025
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.
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?
Maybe I’ll be keeping my shaders a while longer.
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.
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?
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.
Here’s my best sample yet (alas, Three.js):
https://coderextreme.net/assetmanager/ 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.
Seriously, let’s throw some hard stuff at my graphics card!
If someone wants to propose a PhysicsModel with 6 varying parameters sent
to a shader, great!
Yes, I’ve been asking for random numbers for a long time…I’d like to avoid
script…
If we can match THREE.js performance, great!
Maybe I should port the THREE.js code to X3D. Hmm!
John
On Fri, May 2, 2025 at 4:59 AM John Carlson <yottzumm at gmail.com> wrote:
> 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.
>
>
> Holger also has more support for Khronos PBR (not sure if it’s OpenPBR)
> than X3D4.
>
> On Wed, Apr 30, 2025 at 7:54 PM Brutzman, Donald (Don) (CIV) via
> x3d-public <x3d-public at web3d.org> wrote:
>
>> Thanks Joe. Looks pretty spectacular!
>>
>> 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...
>>
>> 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.
>>
>> Have fun with advanced rendering in glTF and X3D! 🙂
>>
>>
>> all the best, Don
>>
>> --
>>
>> Don Brutzman Naval Postgraduate School, Code USW/Br
>> brutzman at nps.edu
>>
>> Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA
>> +1.831.656.2149
>>
>> X3D graphics, virtual worlds, navy robotics
>> https://faculty.nps.edu/brutzman
>>
>>
>>
>> ------------------------------
>> *From:* x3d-public on behalf of Joe D Williams via x3d-public
>> *Sent:* Wednesday, April 30, 2025 1:03 PM
>> *To:* x3d-public at web3d.org
>> *Cc:* Joe D Williams
>> *Subject:* [x3d-public] MaterialX and glTF PBR
>>
>> You can view the Chess Set in the Web MaterialX viewer here:
>> https://academysoftwarefoundation.github.io/MaterialX/
>> MaterialX Web Viewer - GitHub Pages
>> <https://academysoftwarefoundation.github.io/MaterialX/>
>> MaterialX Web Viewer - GitHub Pages ... Material: ...
>> academysoftwarefoundation.github.io
>>
>> Pick material: standard_surface_chess_set.mtlx
>>
>> Pick geometry: chess_set.glb
>> OpenPBR spec: https://academysoftwarefoundation.github.io/OpenPBR/
>> academysoftwarefoundation.github.io
>> <https://academysoftwarefoundation.github.io/OpenPBR/>
>> 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 ...
>> academysoftwarefoundation.github.io
>>
>> from MSF 3D Asset Interoperability using USD and glTF working group
>> feature MaterialX status and glTF PBR status and collaborations
>> Continued serious work on Shader Translation Graphs to map between models.
>>
>> Thanks,
>> Joe
>>
>>
>>
>>
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250502/77d1f18f/attachment-0001.html>
More information about the x3d-public
mailing list