<div><div dir="auto">I think the idea of ExternalGeometry / ExternalShape was exactly to allow this type of picking.</div><div dir="auto"><br></div><div dir="auto">Indeed we have 2 approaches for using glTF : </div><div dir="auto"><br></div><div dir="auto">1. Inline (take all, meshes with materials with transformations with animations, lights, cameras...). This is the route I focus in CGE, because it fullfills my need (I can use glTF as interchange format with rich support e.g. from Blender, and it is still tightly integrated with my engine architecture using X3D nodes for everything).</div><div dir="auto"><br></div><div dir="auto">2. Pick parts by ExternalShape or ExternalGeometry. You then get some benefits of glTF (e.g. efficient mesh loading to GPU) but you can be more picky about what you import, and you also have to add all extras (animations, lights...) in X3D. </div><div dir="auto"><br></div><div dir="auto">For me AD 1 is very satisfactory and I don't need AD 2, but that's just my use-case:) I can definitely see a place for AD 2 too.</div><div dir="auto"><br></div><div dir="auto">The practical difference for spec writers is also that AD 1 requires no spec prose, at least if you ignore some edge cases (e.g. naming of animations that glTF exposes). While AD 2 requires spec prose to begin with.</div><div dir="auto"><br></div><div dir="auto">Regards,</div><div dir="auto">Michalis</div></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">W dniu pon., 15.06.2020 o 17:46 GPU Group <<a href="mailto:gpugroup@gmail.com">gpugroup@gmail.com</a>> napisał(a):<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 dir="ltr">glTF Inlining > alternatives > <div>Q. could/should we have syntax for picking parts out of a .gltf scene into our main x3d scene?</div><div><br></div><div><p class="MsoNormal"><Box url="something.gltf#semething"/></p>
<p class="MsoNormal">or</p>
<p class="MsoNormal"><ProtoInstace url="something.gltf#semething"
/></p><p class="MsoNormal">Benefit: more scripting and routing options.</p><p class="MsoNormal">-Doug Sanden</p></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jun 12, 2020 at 9:19 PM Don Brutzman <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</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)">Attendees: Michalis Kamburelis, Anita Havele, Vince Marchetti, Nicholas Polys, Dick Puk, Don Brutzman.<br>
<br>
Regrets: Christophe Mouton, previously participating with Vince in global meeting of Web3D 2020 Conference program committee.<br>
<br>
Thanks to Michalis for today's "deep dive" and also thanks to Michalis and Vince for help with minutes.<br>
<br>
Last week's minutes:<br>
<br>
[0] X3D minutes 5 June 2020: Web3D 2020 papers deadline, mantis issues, refining some field names<br>
<a href="https://web3d.org/pipermail/x3d-public_web3d.org/2020-June/012834.html" rel="noreferrer" target="_blank">https://web3d.org/pipermail/x3d-public_web3d.org/2020-June/012834.html</a><br>
<br>
No member-only information is included in these minutes.<br>
<br>
---<br>
<br>
1. *Participation Information*<br>
<br>
[1] Web3D Teleconference Information<br>
<a href="https://www.web3d.org/member/teleconference-information" rel="noreferrer" target="_blank">https://www.web3d.org/member/teleconference-information</a><br>
<br>
Please use the following link for all Web3D Consortium Meetings.<br>
<br>
Join URL: <a href="https://us02web.zoom.us/j/81634670698?pwd=a1VPeU5tN01rc21Oa3hScUlHK0Rxdz09" rel="noreferrer" target="_blank">https://us02web.zoom.us/j/81634670698?pwd=a1VPeU5tN01rc21Oa3hScUlHK0Rxdz09</a><br>
<br>
Meeting ID: 81634670698 Meeting Password: 483805<br>
<br>
One tap mobile<br>
US (New York) +1 929 205 6099,,(nine-digit number from Join URL above)#<br>
US (San Jose) +1 669 900 6833,,(nine-digit number from Join URL above)#<br>
<br>
---<br>
<br>
2. Physically Based Rendering (PBR) Progress.<br>
<br>
Michalis briefed us all on progress in the X3D4 PR8<br>
<br>
[2] X3D4 PR8: [WIP] PBR and other lighting and material upgrades<br>
<a href="https://github.com/Web3DConsortium/X3D/pull/8" rel="noreferrer" target="_blank">https://github.com/Web3DConsortium/X3D/pull/8</a><br>
<br>
Castle Game Engine (CGE) implements now punctual lights<br>
<br>
[3] Reading punctual lights from glTF<br>
<a href="https://castle-engine.io/wp/2020/06/11/reading-punctual-lights-from-gltf" rel="noreferrer" target="_blank">https://castle-engine.io/wp/2020/06/11/reading-punctual-lights-from-gltf</a><br>
<br>
[4] KHR_lights_punctual - Khronos extensions for punctual lights in glTF<br>
"This extension defines a set of lights for use with glTF 2.0. Lights define light sources within a scene."<br>
<a href="https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_lights_punctual" rel="noreferrer" target="_blank">https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_lights_punctual</a><br>
<br>
They correspond nicely to X3D PointLight/SpotLight/DirectionalLight.<br>
<br>
Blender can export them (with out-of-the-box glTF exporter).<br>
<br>
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!!<br>
<br>
glTF has also image-based lighting:<br>
<br>
[5] glTF/extensions/2.0/Vendor/EXT_lights_image_based/ - Khronos extensions for image-based lights in glTF<br>
<a href="https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_lights_image_based" rel="noreferrer" target="_blank">https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_lights_image_based</a><br>
<br>
---<br>
<br>
3. Michalis plan to finish PBR PR in June:<br>
<br>
3.1. *Do* deal with texture channels issue (see <a href="https://github.com/michaliskambi/x3d-tests/wiki/X3D-version-4:-New-features-of-materials,-lights-and-textures#todos" rel="noreferrer" target="_blank">https://github.com/michaliskambi/x3d-tests/wiki/X3D-version-4:-New-features-of-materials,-lights-and-textures#todos</a> )<br>
<br>
3.2. *Do not* deal with gammma correction.<br>
<br>
* It can be left, after my PR PBR, as implementation-specific choice controlled by some user setting.<br>
<br>
* 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.<br>
<br>
[6] <a href="https://github.com/michaliskambi/x3d-tests/wiki/Gamma-correction-in-X3D-and-glTF" rel="noreferrer" target="_blank">https://github.com/michaliskambi/x3d-tests/wiki/Gamma-correction-in-X3D-and-glTF</a><br>
[7] <a href="https://github.com/michaliskambi/x3d-tests/wiki/X3D-version-4:-New-features-of-materials,-lights-and-textures#todos" rel="noreferrer" target="_blank">https://github.com/michaliskambi/x3d-tests/wiki/X3D-version-4:-New-features-of-materials,-lights-and-textures#todos</a><br>
<br>
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.<br>
<br>
Reason: it can be added nicely in X3D 4.1.<br>
<br>
And it will be interesting to see adoption of corresponding <a href="https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_lights_image_based" rel="noreferrer" target="_blank">https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_lights_image_based</a> (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).<br>
<br>
----<br>
<br>
4. Matching data types from X3D to glTF?<br>
<br>
Michalis has shown that it is possible to ROUTE values into a node within a glTF model.<br>
<br>
(suggest forwarding separate private email thread to public list with permissions, if appropriate)<br>
<br>
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.<br>
<br>
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.<br>
<br>
The X3D IMPORT / EXPORT mechanism is already capable of doing this:<br>
- glTF loader in Castle Game Engine simply internally creates X3D nodes (like TimeSensor) with names derived from glTF nodes.<br>
- The animation TimeSensor nodes are also EXPORTed from the glTF file, using X3D EXPORT mechanism.<br>
- So you can Inline the glTF file in X3D, and access the animations from X3D and play them.<br>
<br>
Michalis made a demo of this:<br>
<br>
- X3D code is in<br>
<br>
[8] <a href="https://github.com/castle-engine/demo-models/blob/master/blender/skinned_animation/skinned_anim_run_animations_from_x3d.x3dv" rel="noreferrer" target="_blank">https://github.com/castle-engine/demo-models/blob/master/blender/skinned_animation/skinned_anim_run_animations_from_x3d.x3dv</a><br>
<br>
- It accesses the glTF file in the same directory,<br>
<br>
[9] <a href="https://github.com/castle-engine/demo-models/blob/master/blender/skinned_animation/skinned_anim.glb" rel="noreferrer" target="_blank">https://github.com/castle-engine/demo-models/blob/master/blender/skinned_animation/skinned_anim.glb</a><br>
<br>
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.<br>
<br>
----<br>
<br>
5. *C++ Language binding to X3D.*<br>
<br>
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.<br>
<br>
[10] [x3d] ISO/IEC 19777-4 CD X3D language bindings - Part 4: C++ by Myeong Won Lee<br>
<a href="https://web3d.org/mailman/private/x3d_web3d.org/2020-June/007914.html" rel="noreferrer" target="_blank">https://web3d.org/mailman/private/x3d_web3d.org/2020-June/007914.html</a><br>
<br>
This is the second submission of a draft document, following initial sharing, positive reinforcement and helpful feedback last year.<br>
<br>
This important step has been entered into timeline document at<br>
<br>
[11] Web3D ISO Specification Development Timeline<br>
<a href="https://docs.google.com/spreadsheets/d/1GdVcjQIid0Hohc_ajmepVOESy2sLtHSVvbvsFni89w8/edit#gid=1641828106" rel="noreferrer" target="_blank">https://docs.google.com/spreadsheets/d/1GdVcjQIid0Hohc_ajmepVOESy2sLtHSVvbvsFni89w8/edit#gid=1641828106</a><br>
<br>
We intend to perform member-only X3D Working Group initial review before considering any further steps.<br>
<br>
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.<br>
<br>
Dick, are we ready to place this document into Github for further member access?<br>
<br>
[12] <a href="https://github.com/Web3DConsortium/X3D" rel="noreferrer" target="_blank">https://github.com/Web3DConsortium/X3D</a><br>
"Maintenance and development of all X3D specifications, i.e. ISO/IEC 19775, 19776 and 19777 series."<br>
<a href="https://github.com/Web3DConsortium/X3D" rel="noreferrer" target="_blank">https://github.com/Web3DConsortium/X3D</a><br>
<br>
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.<br>
<br>
[13] Web3D Consortium Standards Strategy<br>
<a href="https://www.web3d.org/strategy" rel="noreferrer" target="_blank">https://www.web3d.org/strategy</a><br>
<br>
As ever, Web3D Consortium Membership has value!<br>
<br>
[14] Join the Web3D Consortium<br>
<a href="https://www.web3d.org/join" rel="noreferrer" target="_blank">https://www.web3d.org/join</a><br>
<br>
----<br>
<br>
6. *Mantis Issue Updates*<br>
<br>
We briefly reviewed the following Mantis issues.<br>
<br>
[15] Mantis 1252, PointProperties node specification; PointSet/LineSet/IndexedLineSet can contain Normal<br>
<a href="https://www.web3d.org/member-only/mantis/view.php?id=1252" rel="noreferrer" target="_blank">https://www.web3d.org/member-only/mantis/view.php?id=1252</a><br>
<br>
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.<br>
<br>
Continuing followup from last week's X3D Working Group meeting progress on Viewpoint/NavigationInfo and viewAll:<br>
<br>
[16] Mantis 1194: 23.4.4 NavigationInfo VIEWALL (or X3DViewpointNode viewAll) should be a required navigation behaviour<br>
<a href="https://www.web3d.org/member-only/mantis/view.php?id=1194" rel="noreferrer" target="_blank">https://www.web3d.org/member-only/mantis/view.php?id=1194</a><br>
<br>
[17] Mantis 1264: NavigationInfo type TURNTABLE HELICOPTER GAME FREEFLY<br>
<a href="https://www.web3d.org/member-only/mantis/view.php?id=1194" rel="noreferrer" target="_blank">https://www.web3d.org/member-only/mantis/view.php?id=1194</a><br>
<br>
[18] Mantis 1264: add field to Viewpoint for dedicated NavigationInfo<br>
<a href="https://www.web3d.org/member-only/mantis/view.php?id=1305" rel="noreferrer" target="_blank">https://www.web3d.org/member-only/mantis/view.php?id=1305</a>]<br>
<br>
Given difficult access by some key implementers, have attached PDFs of relevant Mantis issues to these minutes.<br>
<br>
Suggest that absent any objections, we experiment further on feasibility by adding them to X3Dv4 schema and X3DUOM. Specifically:<br>
<br>
- add viewAll field to X3DViewpointNode, Viewpoint, OrthoViewpoint<br>
- add navigationInfo field to X3DViewpointNode, Viewpoint, OrthoViewpoint<br>
- add Mantis prose for new NavigationInfo types<br>
- apply Mantis prose to X3D4 draft specification on github<br>
<br>
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.<br>
<br>
---<br>
<br>
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.<br>
<br>
---<br>
<br>
8. We are less than a month away to CFP deadline for papers for Web3D 2020. Tutorial and workshop proposals follow shortly thereafter.<br>
<br>
This is our 25th anniversary. We expect to achieve significant attention as a result.<br>
<br>
[19] Web3D 2020 Conference, Virtual Event<br>
<a href="https://www.web3d.org/event/web3d-2020-conference-virtual-event" rel="noreferrer" target="_blank">https://www.web3d.org/event/web3d-2020-conference-virtual-event</a><br>
<br>
[20] Web3D 2020, 25th International Conference on 3D Web Technology - Submissions<br>
<a href="https://2020.web3dconference.org/submissions" rel="noreferrer" target="_blank">https://2020.web3dconference.org/submissions</a><br>
<br>
---<br>
<br>
As ever, all comments questions and improvements are welcome. Onward we go, smartly together.<br>
<br>
Have fun with X3D4! Start writing for Web3D 2020! 8)<br>
<br>
all the best, Don<br>
-- <br>
Don Brutzman Naval Postgraduate School, Code USW/Br <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>
Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149<br>
X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">http://faculty.nps.edu/brutzman</a><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" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote></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>