[x3d-public] [consortium] X3D Standards Working Group list of standards under revision
vmarchetti at kshell.com
vmarchetti at kshell.com
Sun Jan 12 08:31:00 PST 2025
Blending data to get a rendered appearance of a mesh has come up in the recent work toward Blender support of X3D. To address Don's question about references for blending, one reference is the section of glTF specification for physically based rendering, in particular for what glTF call "Metallic Roughness" material, see Section 3.9.2 fo the glTF 2.0 specification
https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#metallic-roughness-material
The penultimate paragraph of section 3.9.2 specifies how a material base color is blended with color-per-vertex values:
"In addition to the material properties, if a primitive specifies a vertex color using the attribute semantic property COLOR_0, then this value acts as an additional linear multiplier to base color."
This form of blending is a problem for export to X3D from Blender, as X3D does not support this blending, rather in X3D color-per-vertex data in a ColorRGB or ColorRGBA node overrides color expressed in a Material or PhysicalMaterial node. This problem is relevant to converting a glTF file as generated through the QGIS (geographic information system) code to x3D using Blender.
I think of the ladder of material and appearance complexity from simplest to most complex, as:
1. X3D Specification at v 3.3
2. X3D Specification at v 4.0, adds Physically based rendering but not blending
3. The extensions to X3D 4.0 that Michalis and Holger have implemented in their viewers, and are proposing for X3D 4.1
4. glTF specification 2.0 which support multiple blending methods (see Section 3.9.2)
5. Blender, which through the material node tree allows implementation of a wide variety of blending. Keep in mind though that Blender does not do 'real time' rendering, at least not on my computer.
Corrections or extensions on my ladder from 1 to 5 are appreciated.
Vince Marchetti
> On Jan 12, 2025, at 3:15 AM, Brutzman, Donald (Don) (CIV) <brutzman at nps.edu> wrote:
>
> Thanks for multiple efforts and thoughtful posts.
>
> We certainly have more options for X3D extensibility than ever before, now that we've achieved the X3D 4.0 Architecture. It is also much easier for Web3D Consortium to consider recommendations for incremental improvements to our specifications.
>
> Some questions please:
>
> Looks like functional descriptions and technical references aren't listed? There must be something you are each referring to...
>
> Wondering what is the relationship to glTF?
>
> Wondering what is relationship and potential value for Blender export to X3D?
> (of possible relevance) Blender 4.2 LTS: EEVEE
> "Shading Modes. Material > Blend Mode was replaced by Material > Render Method. Blended corresponds to the former Alpha Blend. Material > Shadow Mode was replaced by Object > Visibility > Ray Visibility > Shadow at the object level.
> https://developer.blender.org/docs/release_notes/4.2/eevee
> all the best, Don
> --
> Don Brutzman Naval Postgraduate School, Code USW/Br brutzman at nps.edu <mailto: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 <x3d-public-bounces at web3d.org <mailto:x3d-public-bounces at web3d.org>> on behalf of Michalis Kamburelis via x3d-public <x3d-public at web3d.org <mailto:x3d-public at web3d.org>>
> Sent: Saturday, January 11, 2025 9:42 AM
> To: Holger Seelig <holger.seelig at yahoo.de <mailto:holger.seelig at yahoo.de>>
> Cc: Michalis Kamburelis <michalis.kambi at gmail.com <mailto:michalis.kambi at gmail.com>>; X3D <x3d-public at web3d.org <mailto:x3d-public at web3d.org>>; Web3D Consortium <consortium at web3d.org <mailto:consortium at web3d.org>>; bod at web3d.org <mailto:bod at web3d.org> <bod at web3d.org <mailto:bod at web3d.org>>
> Subject: Re: [x3d-public] X3D Standards Working Group list of standards under revision
>
> As for BlendMode: Note that Castle Game Engine / Castle Model Viewer
> also support it:
> https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcastle-engine.io%2Fx3d_extensions.php%23section_ext_blending&data=05%7C02%7Cbrutzman%40nps.edu%7C95a96744dabd43abd37808dd326799e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638722145749340649%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=938deY3k4NOMUuJw1eYJ1tZ59Hw0BPyYm903R%2BqrazA%3D&reserved=0 <https://castle-engine.io/x3d_extensions.php#section_ext_blending> .
>
> I agree BlendMode is worth adding to the spec, but *not* with all the
> enums. The enums currently available match all OpenGL / OpenGLES /
> WebGL capabilities, but it implies a lot of possibilities and I think
> only a few are really practically useful for users. I would like to
> research what is supported in this regard by Vulkan, Direct3D, and
> choose a "common subset" for the spec.
>
> Of course particular browsers could still extend allowed options to enable more.
>
> Regards,
> Michalis
>
>
> pt., 10 sty 2025 o 16:53 Holger Seelig <holger.seelig at yahoo.de <mailto:holger.seelig at yahoo.de>> napisał(a):
> >
> > As an additional proposal I would like to mention here BlendMode and DepthMode node as child of an Appearance node, which are more or less implemented the same in X3DOM and X_ITE:
> >
> > * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2Fcomponents%2Fx-ite%2Fblendmode%2F&data=05%7C02%7Cbrutzman%40nps.edu%7C95a96744dabd43abd37808dd326799e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638722145749493727%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=8UyMDMx9h5q%2Flknb0mEgLClmMXVQRHhOmkSjt2cZ9Pc%3D&reserved=0 <https://create3000.github.io/x_ite/components/x-ite/blendmode/>
> > * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdoc.x3dom.org%2Fauthor%2FShape%2FBlendMode.html&data=05%7C02%7Cbrutzman%40nps.edu%7C95a96744dabd43abd37808dd326799e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638722145749507751%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=gC%2B%2BSv2J1swEPn0AijqQj8pH%2BdIaS17O%2F4urAhhgZ24%3D&reserved=0 <https://doc.x3dom.org/author/Shape/BlendMode.html>
> >
> > * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2Fcomponents%2Fx-ite%2Fdepthmode%2F&data=05%7C02%7Cbrutzman%40nps.edu%7C95a96744dabd43abd37808dd326799e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638722145749519941%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=Z%2BDAhZwwW923qMoy5jNAX54G5ae3lGkM4Me6zxhCu6Y%3D&reserved=0 <https://create3000.github.io/x_ite/components/x-ite/depthmode/>
> > * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdoc.x3dom.org%2Fauthor%2FShape%2FDepthMode.html&data=05%7C02%7Cbrutzman%40nps.edu%7C95a96744dabd43abd37808dd326799e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638722145749531861%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=Jq%2Br3mVAZJeLFl7wotZxBkusp8KyrMFpUVFi5T3Bqk8%3D&reserved=0 <https://doc.x3dom.org/author/Shape/DepthMode.html>
> >
> > These nodes require each an additional field in the Appearance node:
> >
> > * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2Fcomponents%2Fshape%2Fappearance%2F&data=05%7C02%7Cbrutzman%40nps.edu%7C95a96744dabd43abd37808dd326799e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638722145749543455%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=NmlKlM9qUkd94GvqzPZadjFe7UEZfalLZkuKEtaHMB8%3D&reserved=0 <https://create3000.github.io/x_ite/components/shape/appearance/>
> > * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdoc.x3dom.org%2Fauthor%2FShape%2FAppearance.html&data=05%7C02%7Cbrutzman%40nps.edu%7C95a96744dabd43abd37808dd326799e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638722145749554995%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=34rN1xbKSUbesNFsRBtcW6mOuRrDr6HjVLbMMQ09XiY%3D&reserved=0 <https://doc.x3dom.org/author/Shape/Appearance.html>
> >
> > X_ITE implementation of these node are a bit more complete to handle all WebGL possibilities, X3DOM is somehow limited in that.
> >
> > Best regards,
> > Holger
> >
> > --
> > Holger Seelig
> > Leipzig, Germany
> >
> > holger.seelig at yahoo.de <mailto:holger.seelig at yahoo.de>
> > https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2F&data=05%7C02%7Cbrutzman%40nps.edu%7C95a96744dabd43abd37808dd326799e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638722145749566589%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=zruiAPzGZV%2F2nbWkNGMqXX11EDn2RRuCOScwfosffAQ%3D&reserved=0 <https://create3000.github.io/x_ite/>
> >
> > Am 10.01.2025 um 16:32 schrieb Holger Seelig <holger.seelig at yahoo.de <mailto:holger.seelig at yahoo.de>>:
> >
> > I would also like to thank Don and everyone here for the wonderful cooperation.
> >
> > Here are some wishes that may be relevant for X3D 4.1.
> >
> > * Definitely much need for EnvironmentLight as Michalis proposed it,
> > glTF can't live without it.
> > * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmichaliskambi%2Fx3d-tests%2Fwiki%2FImage-Based-Lighting-&data=05%7C02%7Cbrutzman%40nps.edu%7C95a96744dabd43abd37808dd326799e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638722145749577874%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=XTiSoAiVT1erfLyoqtusANv1EPEtWoRNZSME78vqItA%3D&reserved=0(EnvironmentLight-node) <https://github.com/michaliskambi/x3d-tests/wiki/Image-Based-Lighting->
> >
> > * PhysicalMaterial extensions to get all the glTF material stuff working,
> > * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2Fcomponents%2Foverview%2F%23x_ite&data=05%7C02%7Cbrutzman%40nps.edu%7C95a96744dabd43abd37808dd326799e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638722145749591142%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=FLPvbD855MSVAYw8SZaXeJeLRk%2BRJm4fjh2AdnNuSVM%3D&reserved=0 <https://create3000.github.io/x_ite/components/overview/#x_ite>
> >
> > * InstancedShape, useful anywhere but in special for glTF compatibility,
> > * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2Fcomponents%2Fx-ite%2Finstancedshape%2F&data=05%7C02%7Cbrutzman%40nps.edu%7C95a96744dabd43abd37808dd326799e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638722145749602557%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=925G%2F2Iyf0pY2SwGvNHtCnAUvJJCD087xbgibXN4bNs%3D&reserved=0 <https://create3000.github.io/x_ite/components/x-ite/instancedshape/>
> > * https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2F192.168.178.35%3A4000%2Fx_ite%2Flaboratory%2Fgltf-sample-viewer%2F%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2FKhronosGroup%2FglTF-Sample-Assets%2Fmaster%2FModels%2FSimpleInstancing%2FglTF%2FSimpleInstancing.gltf&data=05%7C02%7Cbrutzman%40nps.edu%7C95a96744dabd43abd37808dd326799e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638722145749613849%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=%2FsUqKHSX%2BJb83pF5d0RnoNMUqettvVnHhXdrL0174fM%3D&reserved=0 <https://192.168.178.35:4000/x_ite/laboratory/gltf-sample-viewer/?url=https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/master/Models/SimpleInstancing/glTF/SimpleInstancing.gltf>
> >
> > The links contain examples and documentation of the nodes.
> >
> > Best regards,
> > Holger
> >
> > --
> > Holger Seelig
> > Leipzig, Germany
> >
> > holger.seelig at yahoo.de <mailto:holger.seelig at yahoo.de>
> > https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcreate3000.github.io%2Fx_ite%2F&data=05%7C02%7Cbrutzman%40nps.edu%7C95a96744dabd43abd37808dd326799e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638722145749625393%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=1aBftBv8hEOAkGaEpxPnjBOdLrrmo5KAyxRRbTQj9Vo%3D&reserved=0 <https://create3000.github.io/x_ite/>
> >
> > Am 10.01.2025 um 13:11 schrieb Michalis Kamburelis via x3d-public <x3d-public at web3d.org <mailto:x3d-public at web3d.org>>:
> >
> > Thank you enormously for everything you're doing to keep this
> > coordinated. Onward we go!
> >
> > From my side, things I'd like to design as X3D extensions and propose
> > to be included in the next version of X3D standard, hopefully some time in 2025:
> >
> > - An (optional of course) way to specify mesh data as binary blobs, in
> > a way compatible with glTF:
> > https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmichaliskambi%2Fx3d-tests%2Fwiki%2FBinary-meshes&data=05%7C02%7Cbrutzman%40nps.edu%7C95a96744dabd43abd37808dd326799e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638722145749636710%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=I8HvTGYqIzjuy0gzb4jeh00CUIIp3wBcxtA976S6blo%3D&reserved=0 <https://github.com/michaliskambi/x3d-tests/wiki/Binary-meshes>
> >
> > - EnvironmentLight node:
> > https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmichaliskambi%2Fx3d-tests%2Fwiki%2FImage-Based-Lighting-&data=05%7C02%7Cbrutzman%40nps.edu%7C95a96744dabd43abd37808dd326799e4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638722145749647950%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C40000%7C%7C%7C&sdata=%2FfAGtfHbH5rAMXwlizmXR7U4liHqiMpq8g2XHerpfTY%3D&reserved=0(EnvironmentLight-node) <https://github.com/michaliskambi/x3d-tests/wiki/Image-Based-Lighting->
> >
> > The pages above contain information about the details - why I think
> > it's useful+important, what I know, what I don't know and need to
> > learn (including experimenting with implementation) to make it happen.
> >
> > Let's have a productive 2025 :)
> > Michalis
> >
> > czw., 9 sty 2025 o 21:21 Brutzman, Donald (Don) (CIV) via x3d-public
> > <x3d-public at web3d.org <mailto:x3d-public at web3d.org>> napisał(a):
> >
> >
> >
> > X3D Standards Working Group meets regularly to review continuing progress.
> > Primary work is by Dr. Dick Puk and myself as editors for these International Standards jointly reviewed and published with International Standards Organization (ISO), as members of U.S. National Standards Body INCITS.
> > Here are relevant specifications being revised.
> > Assets
> >
> > X3D Graphics Standards Relationships diagram provides "big picture"
> > Mantis Issue Tracker (Web3D member access)
> > Github specifications archive (Web3D member access)
> > ISO/IEC SC24 Computer Graphics, image processing and environmental data representation
> > INCITS H3 Graphics and Imaging
> >
> > Draft specifications in progress
> >
> > X3D XML Encoding 4.0
> > X3D Classic VRML Encoding 4.0
> > X3D Architecture 4.1 maintenance
> > X3D Scene Authoring Interface 4.0
> >
> > Expected 2025 future work
> >
> > X3D Compressed Binary Encoding (CBE)
> >
> > Includes Fast Infoset, gzip, zip algorithms
> > Add Efficient XML Interchange, glTF binary (.glb)
> >
> > Humanoid Animation (HAnim) potential revisions version 2.1
> > X3D JSON Encoding (implemented)
> > X3D Java Programming (X3DJSAIL implementation)
> > X3D Python Programming (X3DPSAIL x3d.py implementation)
> > X3D JavaScript Programming
> > X3D C, C++, C# Programming
> > X3D Semantic Web Turtle Encoding 4.0 (implemented)
> >
> > All inputs are always welcome. Issues can be discussed on Web3D mailing lists or submitted via Mantis issue tracker.
> > We have had a productive year (29 years of forward progression, actually) and look forward to even greater progress in 2025.
> > Have fun with X3D stability and versatility! 🙂
> >
> > all the best, Don
> >
> > --
> >
> > Don Brutzman Naval Postgraduate School, Code USW/Br brutzman at nps.edu <mailto: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
> >
> >
> >
> > _______________________________________________
> > x3d-public mailing list
> > x3d-public at web3d.org <mailto:x3d-public at web3d.org>
> > http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> >
> >
> > _______________________________________________
> > x3d-public mailing list
> > x3d-public at web3d.org <mailto:x3d-public at web3d.org>
> > http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> >
> >
> >
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org <mailto:x3d-public at web3d.org>
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> _______________________________________________
> consortium mailing list
> consortium at web3d.org <mailto:consortium at web3d.org>
> http://web3d.org/mailman/listinfo/consortium_web3d.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250112/c4c0f252/attachment-0001.html>
More information about the x3d-public
mailing list