[x3d-public] X3D minutes 12 June 2020: X3D4 gltf/physically based rendering (PBR) update, X3D C++ language binding, Web3D 2020 CFP 5 July

Don Brutzman brutzman at nps.edu
Fri Jun 12 20:17:19 PDT 2020


Attendees: Michalis Kamburelis, Anita Havele, Vince Marchetti, Nicholas Polys, Dick Puk, Don Brutzman.

Regrets: Christophe Mouton, previously participating  with Vince in global meeting of Web3D 2020 Conference program committee.

Thanks to Michalis for today's "deep dive" and also thanks to Michalis and Vince for help with minutes.

Last week's minutes:

[0] X3D minutes 5 June 2020: Web3D 2020 papers deadline, mantis issues, refining some field names
     https://web3d.org/pipermail/x3d-public_web3d.org/2020-June/012834.html

No member-only information is included in these minutes.

---

1. *Participation Information*

[1] Web3D Teleconference Information
     https://www.web3d.org/member/teleconference-information

Please use the following link for all Web3D Consortium Meetings.

Join URL: https://us02web.zoom.us/j/81634670698?pwd=a1VPeU5tN01rc21Oa3hScUlHK0Rxdz09

Meeting ID: 81634670698      Meeting Password: 483805

One tap mobile
     US (New York) +1 929 205 6099,,(nine-digit number from Join URL above)#
     US (San Jose)  +1 669 900 6833,,(nine-digit number from Join URL above)#

---

2. Physically Based Rendering (PBR) Progress.

Michalis briefed us all on progress in the X3D4 PR8

[2] X3D4 PR8: [WIP] PBR and other lighting and material upgrades
     https://github.com/Web3DConsortium/X3D/pull/8

Castle Game Engine (CGE) implements now punctual lights

[3] Reading punctual lights from glTF
     https://castle-engine.io/wp/2020/06/11/reading-punctual-lights-from-gltf

[4] KHR_lights_punctual - Khronos extensions for punctual lights in glTF
     "This extension defines a set of lights for use with glTF 2.0. Lights define light sources within a scene."
     https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_lights_punctual

They correspond nicely to X3D PointLight/SpotLight/DirectionalLight.

Blender can export them (with out-of-the-box glTF exporter).

Michalis promises to write (some time after PBR PR, so in July/August) a document "Suggested/best practices to convert glTF to X3D" to document corresponding glTF and X3D features.  Thanks!!

glTF has also image-based lighting:

[5] glTF/extensions/2.0/Vendor/EXT_lights_image_based/  - Khronos extensions for image-based lights in glTF
     https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_lights_image_based

---

3. Michalis plan to finish PBR PR in June:

3.1. *Do* deal with texture channels issue (see https://github.com/michaliskambi/x3d-tests/wiki/X3D-version-4:-New-features-of-materials,-lights-and-textures#todos )

3.2. *Do not* deal with gammma correction.

* It can be left, after my PR PBR, as implementation-specific choice controlled by some user setting.

* Reason: It is useful, but not critical, to add X3D prose about it (to control gamma (request it being on/off, not "user's choice"), and to specify that particular texture is already in gamma-corrected space or not). So this prose can be added in X3D 4.1.

[6]  https://github.com/michaliskambi/x3d-tests/wiki/Gamma-correction-in-X3D-and-glTF
[7]  https://github.com/michaliskambi/x3d-tests/wiki/X3D-version-4:-New-features-of-materials,-lights-and-textures#todos

3.3. *Do not* deal with image-based lighting. `EnvironmentLight`, that I planned for X3D 4.0, and hereby getting postponed. Not for June, maybe not for X3D 4.0.

Reason: it can be added nicely in X3D 4.1.

And it will be interesting to see adoption of corresponding https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_lights_image_based (it is not yet supported by glTF sample viewer or by Blender exporter; although they are I think at least 2 open-source implementations handling it).

----

4.  Matching data types from X3D to glTF?

Michalis has shown that it is possible to ROUTE values into a node within a glTF model.

(suggest forwarding separate private email thread to public list with permissions, if appropriate)

Nicholas asked about matching data types, i.e. correspondences between X3D and glTF data types...  Michalis reports that current value type correspondences basically seem sufficient and are working well.  We do need to pay attention to names and naming conventions, more to follow on that when we start scrutinizing examples.

If glTF naming isn't yet stable then perhaps not in X3D4.0 but topic definitely holds interest.  We continue looking at precise mechanisms for loading glTF in X3D, presumably via Inline node.  Indeed Michalis example utilized Inline and IMPORT statements.

The X3D IMPORT / EXPORT mechanism is already capable of doing this:
- glTF loader in Castle Game Engine simply internally creates X3D nodes (like TimeSensor) with names derived from glTF nodes.
- The animation TimeSensor nodes are also EXPORTed from the glTF file, using X3D EXPORT mechanism.
- So you can Inline the glTF file in X3D, and access the animations from X3D and play them.

Michalis made a demo of this:

- X3D code is in

[8] https://github.com/castle-engine/demo-models/blob/master/blender/skinned_animation/skinned_anim_run_animations_from_x3d.x3dv

- It accesses the glTF file in the same directory,

[9] https://github.com/castle-engine/demo-models/blob/master/blender/skinned_animation/skinned_anim.glb

Discussion of Inline node being sufficient for loading glTF (i.e. not needing another new node): Michalis confirmed that was indeed the case for his implementation.

----

5. *C++ Language binding to X3D.*

Prof Myeong Won Lee has submitted to X3D Working Group by email the second working-draft version Committee Draft (CD) for ISO-IEC 19777-4; C++ Language binding to X3D.  She is looking for feedback and comments.

[10] [x3d] ISO/IEC 19777-4 CD X3D language bindings - Part 4: C++ by Myeong Won Lee
      https://web3d.org/mailman/private/x3d_web3d.org/2020-June/007914.html

This is the second submission of a draft document, following initial sharing, positive reinforcement and helpful feedback last year.

This important step has been entered into timeline document at

[11] Web3D ISO Specification Development Timeline
      https://docs.google.com/spreadsheets/d/1GdVcjQIid0Hohc_ajmepVOESy2sLtHSVvbvsFni89w8/edit#gid=1641828106

We intend to perform member-only X3D Working Group initial review before considering any further steps.

As usual, once ready, we expect to share this document more widely with experts and experts and community to further improve correctness and encourage adoption.  We are driving towards an ISO submission.

Dick, are we ready to place this document into Github for further member access?

[12] https://github.com/Web3DConsortium/X3D
     "Maintenance and development of all X3D specifications, i.e. ISO/IEC 19775, 19776 and 19777 series."
      https://github.com/Web3DConsortium/X3D

After sufficient work and consensus in X3D Working Group on readiness, it will advance further to Web3D Board and Web3D Members for review and approval.

[13] Web3D Consortium Standards Strategy
      https://www.web3d.org/strategy

As ever, Web3D Consortium Membership has value!

[14] Join the Web3D Consortium
      https://www.web3d.org/join

----

6. *Mantis Issue Updates*

We briefly reviewed the following Mantis issues.

[15] Mantis 1252, PointProperties node specification; PointSet/LineSet/IndexedLineSet can contain Normal
      https://www.web3d.org/member-only/mantis/view.php?id=1252

Noted that we have gotten to clarity in Mantis and applied draft specification changes.  Will soon add Normal as an allowed field for PointSet/LineSet/IndexedLineSet nodes in X3D4 XML schema/DTD, X3DUOM and various X3D autogenerated.  This design improvements provides more consistent handling of collected data and potential rendering for point clouds, especially mesh production by 3D scanners.

Continuing followup from last week's X3D Working Group meeting progress on Viewpoint/NavigationInfo and viewAll:

[16] Mantis 1194: 23.4.4 NavigationInfo VIEWALL (or X3DViewpointNode viewAll) should be a required navigation behaviour
      https://www.web3d.org/member-only/mantis/view.php?id=1194

[17] Mantis 1264: NavigationInfo type TURNTABLE HELICOPTER GAME FREEFLY
      https://www.web3d.org/member-only/mantis/view.php?id=1194

[18] Mantis 1264: add field to Viewpoint for dedicated NavigationInfo
      https://www.web3d.org/member-only/mantis/view.php?id=1305]

Given difficult access by some key implementers, have attached PDFs of relevant Mantis issues to these minutes.

Suggest that absent any objections, we experiment further on feasibility by adding them to X3Dv4 schema and X3DUOM.  Specifically:

- add viewAll        field to X3DViewpointNode, Viewpoint, OrthoViewpoint
- add navigationInfo field to X3DViewpointNode, Viewpoint, OrthoViewpoint
- add Mantis prose for new NavigationInfo types
- apply Mantis prose to X3D4 draft specification on github

As mentioned in last week's minutes, all comments welcome.  Implementation in X3D XML Schema/DTD, X3DUOM, tooltips and libraries soon to follow in support of experimental testing.

---

7.  Noted invited-expert status and sent (another) request to grant Mantis access for John Carlson, Michalis Kamburelis, Doug Sanden, Joe Williams in recognition of their deep expertise, continuing contributions and ongoing experience implementing both X3D and HAnim.

---

8. We are less than a month away to CFP deadline for papers for Web3D 2020.  Tutorial and workshop proposals follow shortly thereafter.

This is our 25th anniversary.  We expect to achieve significant attention as a result.

[19] Web3D 2020 Conference, Virtual Event
      https://www.web3d.org/event/web3d-2020-conference-virtual-event

[20] Web3D 2020, 25th International Conference on 3D Web Technology - Submissions
      https://2020.web3dconference.org/submissions

---

As ever, all comments questions and improvements are welcome.  Onward we go, smartly together.

Have fun with X3D4!  Start writing for Web3D 2020!  8)

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 http://faculty.nps.edu/brutzman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001264_ NavigationInfo type TURNTABLE HELICOPTER GAME FREEFLY - Web3D MantisBT.pdf
Type: application/pdf
Size: 157282 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20200612/19fed98b/attachment-0003.pdf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001194_ 23.4-X3DViewpointNode-viewAll.pdf
Type: application/pdf
Size: 197750 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20200612/19fed98b/attachment-0004.pdf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001305_ add field to Viewpoint for dedicated NavigationInfo - Web3D MantisBT.pdf
Type: application/pdf
Size: 144488 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20200612/19fed98b/attachment-0005.pdf>


More information about the x3d-public mailing list