<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>Okay, I have a smaller example here:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>https://coderextreme.net/X3DJSONLD/src/main/html/flipper2.html</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>(press the Load button several times…it might be in the lower left corner.)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>X_ITE seems to bail out here:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>x_ite.js:77145 Error: Couldn't create frame buffer.</p><p class=MsoNormal>    at new DepthBuffer (x_ite.js:51297)</p><p class=MsoNormal>    at Layer.X3DRenderObject (x_ite.js:77141)</p><p class=MsoNormal>    at Layer.X3DLayerNode [as constructor] (x_ite.js:80092)</p><p class=MsoNormal>    at new Layer (x_ite.js:80560)</p><p class=MsoNormal>    at new LayerSet (x_ite.js:80674)</p><p class=MsoNormal>    at new World (x_ite.js:80897)</p><p class=MsoNormal>    at X3DBrowser.setExecutionContext (x_ite.js:81220)</p><p class=MsoNormal>    at X3DBrowser.replaceWorld (x_ite.js:114277)</p><p class=MsoNormal>    at loaderJQuery.js:222</p><p class=MsoNormal>    at fire (x_ite.js:5425)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Any ideas?  Ideally, it would reuse the DepthBuffer of the old world, I would hope.  Not really sure though.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</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:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Saturday, March 17, 2018 8:09 PM<br><b>To: </b><a href="mailto:holger.seelig@yahoo.de">Holger Seelig</a><br><b>Subject: </b>RE: JSON parser</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’ve tried duplicating with 2 canvases and XML and JS loaders without success.  Will try full X3DOM and X_ITE next.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></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<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Saturday, March 17, 2018 7:54 PM<br><b>To: </b><a href="mailto:holger.seelig@yahoo.de">Holger Seelig</a><br><b>Subject: </b>RE: JSON parser<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Holger, have you tried these APIs with more than 16 or so invocations…enough to fill the number of WebGL contexts? On a single web page?  I start getting black canvases as I reload 2 different browser canvases with different worlds.   This applied to previous versions of X_ITE and Cobweb as well.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>See: <a href="https://coderextreme.net/X3DJSONLD/src/main/html/index.html">https://coderextreme.net/X3DJSONLD/src/main/html/index.html</a> (select 5 or so items from the pulldown in succession).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This would be a great boon to my development if we could solve this. I wouldn’t have to reload the page.  It’s getting to the point with EXI, etc. that I am running out of WebGL contexts rapidly, I think, and X_ITE or X3DOM should reclaim them (it looks like X3DOM does, but not sure if it gives them to X_ITE).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Or whatever is going on.   Please advise if you’ve seen it before with these APIs.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></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<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:holger.seelig@yahoo.de">Holger Seelig</a><br><b>Sent: </b>Wednesday, March 14, 2018 1:36 PM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Subject: </b>Re: JSON parser<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thank you for your mail,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I created a test page which will test all three cases following your <o:p></o:p></p><p class=MsoNormal>examles. The page works well in Chrome and Firefox and will also work in <o:p></o:p></p><p class=MsoNormal>Edge.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Have also tested your JSON loader with some special files (PROTO, IMPORT <o:p></o:p></p><p class=MsoNormal>EXPORT ...) and everything is fine.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Best regards,<o:p></o:p></p><p class=MsoNormal>Holger<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Am 04.03.2018 um 13:52 schrieb John Carlson:<o:p></o:p></p><p class=MsoNormal>> These are my interfaces to X_ITE from JavaScript.  At least 2 of these <o:p></o:p></p><p class=MsoNormal>> get stuck loading.  As far as I know, these work with 4.1.3.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> John<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> function load_X_ITE_XML(content) {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>          X3D(function() {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                  var browser = X3D.getBrowser("#x_itexml");<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                  browser.replaceWorld(browser.createX3DFromString(content));<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>          }, function() {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                  alert("Failed to render XML to X_ITE");<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>          });<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> }<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> function load_X_ITE_DOM(element, browserSelector) {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>          X3D(function() {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                  if (typeof X3D.getBrowser !== 'undefined') {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                          var browser = X3D.getBrowser("#x_itedom");<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                          if (typeof browser !== 'undefined' && typeof <o:p></o:p></p><p class=MsoNormal>> browser.importDocument !== 'undefined') {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                                  var importedScene = <o:p></o:p></p><p class=MsoNormal>> browser.importDocument(element);<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                                  browser.replaceWorld(importedScene);<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                          }<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                  }<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>          }, function() {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                  alert("Failed to render DOM to X_ITE");<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>          });<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> }<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> function load_X_ITE_JS(jsobj, browserSelector) {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>          X3D(function() {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                  if (typeof X3D.getBrowser !== 'undefined') {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                          var browser = X3D.getBrowser("#x_itejson");<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                          if (typeof browser !== 'undefined' && typeof <o:p></o:p></p><p class=MsoNormal>> browser.importJS !== 'undefined') {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                                  var importedScene = <o:p></o:p></p><p class=MsoNormal>> browser.importJS(jsobj);<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                                  browser.replaceWorld(importedScene);<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                          }<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                  }<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>          }, function() {<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>                  alert("Failed to render JSON to X_ITE");<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>          });<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> }<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>