<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Here are my modifications to three-x3d-loader. The only new feature is JSON loading and some bug fixes. This is my first loader which does not go through DOM first, so beware! <a href="https://github.com/coderextreme/three-x3d-loader">https://github.com/coderextreme/three-x3d-loader</a> It requires a git client, and node (installing with npm and running JavaScript applications). Instructions are near the bottom of the README.md</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:andreasplesch@gmail.com">Andreas Plesch</a><br><b>Sent: </b>Tuesday, April 11, 2017 5:08 PM<br><b>To: </b><a href="mailto:Leonard.Daly@realism.com">Leonard Daly</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: [x3d-public] X3DOM and Three.js</p></div><p class=MsoNormal><o:p> </o:p></p><div><div><div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><p class=MsoNormal>Date: Tue, 11 Apr 2017 11:10:49 -0700<br>From: Leonard Daly <<a href="mailto:Leonard.Daly@realism.com">Leonard.Daly@realism.com</a>><br><br>...<br>There is an X3D loader for Three<br>(<a href="https://github.com/jonaskello/three-x3d-loader" target="_blank">https://github.com/jonaskello/three-x3d-loader</a>); however, it's node set<br>is very limited (e.g., no animation) and it does not appear to provide a<br>DOM interface.</p></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>There is also a vrml parser and loader: <a href="https://github.com/mrdoob/three.js/pull/10371">https://github.com/mrdoob/three.js/pull/10371</a></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><p class=MsoNormal>John Carlson mentioned he had one, but I am not sure if<br>it meets the DOM interface requirements. Johannes mentioned that they<br>looked into Three as a renderer, but at the time there were too many<br>differences between X3D and how Three handled the scene graph and<br>rendered the result.<br><br>Initial Requirements<br>1) Use Three.js for all rendering<br>2) Provides DOM interface to X3D scene<br>3) Handle most X3D nodes<br>4) Easy to add new nodes or features (see A-Frame for an example of "easy")</p></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal> </p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><p class=MsoNormal>The application needs to be able to run in the DOM and construct a scene<br>graph using Three from X3D tags (nodes) in the HTML file. In general all<br>tags and attributes (nodes and fields) need to be accessible from DOM<br>(both read and write). Internal animations (TimeSensor --> Interpolator<br>--> TargetNode) need to work.<br><br>So far my preliminary investigation indicates that the problem is<br>doable. The difficult part appears to be parsing the nodes In the HTML<br>file and keeping the DOM reference from the node to the Three object.</p></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Hm, sounds like a job for A-Frame which does the parsing (or registration of new elements with the browser) and linking from DOM to Three.</p></div><div><p class=MsoNormal> </p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><p class=MsoNormal>I<br>have no idea of the performance would be, though it does need to be near<br>90 fps (browser willing).</p></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Three is well optimized but it may come down to limiting geometry and using shaders well.</p></div><div><p class=MsoNormal> </p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><p class=MsoNormal>Does anyone have any insights, comments, or thoughts on such an application?</p></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>A lot depends on the time frame and available resources/man power. </p></div><div><p class=MsoNormal>Starting from scratch using modern JS and web APIs, repurposing pieces from x3dom, cobweb, or a-frame, building on top of a-frame, or trying to incrementally adapt x3dom to three.js are all options. I would favor the last two if relatively fast results (< one year) with limited resources are expected but x3dom is aging somewhat and using a-frame will require non x3d node names (or a a-X3D spec.).</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>-Andreas</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><p class=MsoNormal>--<br>*Leonard Daly*<br>3D Systems & Cloud Consultant<br>LA ACM SIGGRAPH Chair<br>President, Daly Realism - /Creating the Future/<br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>URL: <<a href="http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170411/6a50e9c7/attachment-0001.html" target="_blank">http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170411/6a50e9c7/attachment-0001.html</a>><br><br>------------------------------<br><br>Message: 4<br>Date: Tue, 11 Apr 2017 14:22:56 -0400<br>From: <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>><br>To: Leonard Daly <<a href="mailto:Leonard.Daly@realism.com">Leonard.Daly@realism.com</a>>, X3D Public<br> <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>><br>Subject: Re: [x3d-public] X3DOM and Three.js<br>Message-ID: <<a href="mailto:58ed1efe.9468370a.a7d9d.2cf4@mx.google.com">58ed1efe.9468370a.a7d9d.2cf4@mx.google.com</a>><br>Content-Type: text/plain; charset="utf-8"<br><br>My plan for X3D JSON is to use the Proxy object and avoid the DOM. I suggest we add an attribute that says ?SETTABLE? and ?GETTABLE? as two fields of each object so that we don?t overload the Proxy object with a bunch of changes.<br><br>If you want something that interacts with the DOM, go for it. I will report on modifications to three-x3d-loader later. It uses another variety of JSON, but converts the JSON to DOM. I don?t know if it has observers or not.<br><br>John<br>Sent from Mail for Windows 10<br><br>From: Leonard Daly<br>Sent: Tuesday, April 11, 2017 2:11 PM<br>To: X3D Public<br>Subject: [x3d-public] X3DOM and Three.js<br><br>I would like to have an application that merged X3DOM and Three.js. The specific requirements are below. I would like to use this to easily handle X3D declarative data and the ability to investigate additional capabilities that are included in Three (animation, shaders, rendering, VR, etc.). There are also many tools that work in conjunction with Three that would be nice to use at various times. I also want to have the DOM interaction provided by X3DOM.<br>There is an X3D loader for Three (<a href="https://github.com/jonaskello/three-x3d-loader" target="_blank">https://github.com/jonaskello/three-x3d-loader</a>); however, it's node set is very limited (e.g., no animation) and it does not appear to provide a DOM interface. John Carlson mentioned he had one, but I am not sure if it meets the DOM interface requirements. Johannes mentioned that they looked into Three as a renderer, but at the time there were too many differences between X3D and how Three handled the scene graph and rendered the result.<br>Initial Requirements<br>1) Use Three.js for all rendering<br>2) Provides DOM interface to X3D scene<br>3) Handle most X3D nodes<br>4) Easy to add new nodes or features (see A-Frame for an example of "easy")<br>The application needs to be able to run in the DOM and construct a scene graph using Three from X3D tags (nodes) in the HTML file. In general all tags and attributes (nodes and fields) need to be accessible from DOM (both read and write). Internal animations (TimeSensor --> Interpolator --> TargetNode) need to work.<br>So far my preliminary investigation indicates that the problem is doable. The difficult part appears to be parsing the nodes In the HTML file and keeping the DOM reference from the node to the Three object. I have no idea of the performance would be, though it does need to be near 90 fps (browser willing).<br>Does anyone have any insights, comments, or thoughts on such an application?<br>--<br>Leonard Daly<br>3D Systems & Cloud Consultant<br>LA ACM SIGGRAPH Chair<br>President, Daly Realism - Creating the Future<br><br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>URL: <<a href="http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170411/d336c679/attachment.html" target="_blank">http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170411/d336c679/attachment.html</a>><br><br>------------------------------<br><br>Subject: Digest Footer<br><br>_______________________________________________<br>x3d-public mailing list<br><a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a><br><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br><br><br>------------------------------<br><br>End of x3d-public Digest, Vol 97, Issue 24<br>******************************************</p></blockquote></div><p class=MsoNormal><br><br clear=all></p><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal>-- </p></div></div><p class=MsoNormal>Andreas Plesch<br>39 Barbara Rd.<br>Waltham, MA 02453</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>