[x3d-public] Cesium > SLAM > GEOLAM

doug sanden highaspirations at hotmail.com
Wed Apr 6 09:56:24 PDT 2016


Or perhaps as a shared-viewpoint layer if layers were to be redefined to be at the same level as web3d scene.

-Doug


more..

Scene could be defined as a layer in something bigger.

And that means don't clear the backbuffer in web3d.

And it also means what's missing from the world right now: Standard Layer and Manager.


more..

Introducing Standard Layer and Manager (SLAM):

- all other webgl technologies must plug in as a layer - including web3d, cesium

- and implement the Layer interface:

0. init()

1. draw(viewport)

2. pick(viewport,x,y)

3. key(viewport,x,y,key)

On each frame SLAM:

- clears backbuffer

- iterates over layers drawing back to front

On each input from touch/key SLAM

- looks for layers intersecting x,y and calls them


But in general layers don't share their viewpoint - for exampe a HUD menu has ortho-viewpoint, scene perspective.

For a geo-overlay layering system, there would/could be a 2-layer layer manager:

SLAM - general layers

GEOLAM - layers under GEOLAM would share their geo-viewpoint, can be a child layerset under SLAM:


<SLAM>

<GEOLAM>

<shared geo viewpoint/>

<weg3d geo nodes/>

<cesium/>

</GEOLAM>

</SLAM>





> >
> >
>> >
> > I think one idea is that a Cesium globe could be a x3d node as sort of a basemap.
> > Another idea is that Cesium is seen as an engine which is responsible for rendering existing Geonodes.
> > My understanding is that Cesium is a standalone system which assumes that it has full control over the rendering surface. This makes it difficult to integrate it into another renderer.
> > To me the decision what kind of engine or library is used belongs to the realm of x3d browser implementation, not scene composition.
> > A geoglobe node would be great and it could be defined to be compatible with the Cesium globe. But I would have no idea how to use Cesium to implement it in x3dom (or cobweb). In fact, I believe there would need to be (substantial) changes on the Cesium side.
> >
> >
> >
> >
> >
> >
> > > Message: 2
> > > Date: Tue, 5 Apr 2016 17:10:36 -0700
> > > From: Don Brutzman <brutzman at nps.edu>
> > > To: X3D Geospatial Working Group <geospatial at web3d.org>
> > > Cc: Michael Russalesi <mike at ssdllc.biz>, X3D Graphics public mailing
> > >         list    <x3d-public at web3d.org>
> > > Subject: [x3d-public] Cesium Version 1.20 Released; possible
> > >         adaptation, perhaps as GeoEngine/GeoGlobe approach for X3D?
> > > Message-ID: <570453FC.7060401 at nps.edu>
> > > Content-Type: text/plain; charset="utf-8"; format=flowed
> > >
> > > a. Wondering if anyone has done a comparison of X3D Geospatial to Cesium javascript tool, perhaps there are lessons to be learned?
> > >
> > >         http://cesiumjs.org/2016/04/01/Cesium-version-1.20-released/
> > >
> > > Also wondering:
> > >
> > > b. might Cesium be used for geospatial backdrop within X3DOM or Cobweb to augment an X3D scene?
> > >
> > > c. of course a variety of carefully engineered globes and map layers are prevalent, and often they carry license requirements that people might want to use (because they paid for a license).   might we think of an extension mechanism for X3D that allows an author to specify acceptable/preferred engine(s) for a geospatial scene?  this would open the door for X3D players to then support them.
> > >
> > > GeoEngine or GeoGlobe node perhaps?  Might be implementable today via a X3D prototype node with a contained JavaScript script, which in turn calls CesiumJS (or OpenLayers or whatever).
> > >
> > > Not sure if these are possible, but are certainly worth considering as we continue to advance X3D content.
> > >
> > > 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
> > >
> > >
> > >
> > > ------------------------------
> > >
> > > Message: 3
> > > Date: Tue, 5 Apr 2016 17:22:20 -0700
> > > From: Don Brutzman <brutzman at nps.edu>
> > > To: Andreas Plesch <andreasplesch at gmail.com>, Holger Seelig
> > >         <holger.seelig at yahoo.de>
> > > Cc: X3D Graphics public mailing list <x3d-public at web3d.org>
> > > Subject: Re: [x3d-public] *** COBWEB RELEASE ANNOUNCEMENT ***;
> > >         book/jsfiddle for _DOM Enlightenment_
> > > Message-ID: <570456BC.6050504 at nps.edu>
> > > Content-Type: text/plain; charset="windows-1252"; format=flowed
> > >
> > > On 4/5/2016 3:16 PM, Andreas Plesch wrote:
> > > > Thanks. This is what I thought.
> > >
> > > thanks +1 -- times everyone, likely!
> > >
> > > > And from outside the scene you can use the SAI once you get the Browser object as far as I remember ?
> > > >
> > > > BTW, it is often possible to avoid jquery and to use the plain DOM API instead. Something perhaps to consider although certainly not a priority.
> > >
> > > interesting O'Reilly book:  _DOM Enlightenment_ by Cody Lindley
> > >
> > >         http://domenlightenment.com
> > >
> > > example
> > >
> > >         Chapter 11 - DOM Events
> > >         http://domenlightenment.com/#11
> > >
> > >         11.1 DOM events overview
> > >
> > > > An event, in terms of the DOM, is either a pre-defined or custom moment in time that occurs in relationship with an element in the DOM, the document object, or the window object. These moments are typically predetermined and programaticlly accounted for by associating functionality (i.e. handlers/callbacks) to occur when these moments in time come to pass. These moments can be initiated by that state of the UI (e.g. input is focused or something has been dragged), the state of the enviroment that is running the JavaScript program (e.g. page is loaded or XHR request has finished), or the state of the program itself (e.g. start monitor users ui interaction for 30 seconds after the page has loaded).
> > > >
> > > > Setting up events can be accomplished using inline attribute event handlers, property event handlers, or the addEventListener() method. In the code below I'm demonstrating these three patterns for setting up an event. All three patterns add a click event that is invoked whenever the <div> in the html document is clicked by the mouse.
> > >
> > >         http://jsfiddle.net/domenlightenment/4EPjN/
> > >
> > > ... then click on the "click me" html subwindow at center right, observe Firebug console for Javascript output on lower right
> > >
> > > 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
> > >
> > >
> > >
> > > ------------------------------
> > >
> > > Message: 4
> > > Date: Tue, 5 Apr 2016 20:14:32 -0700
> > > From: Leonard Daly <Leonard.Daly at realism.com>
> > > To: X3D Graphics public mailing list <x3d-public at web3d.org>
> > > Subject: Re: [x3d-public] Stuck on Inlining JSON--Question for JSON
> > >         Loader customers
> > > Message-ID: <57047F18.7080506 at realism.com>
> > > Content-Type: text/plain; charset="utf-8"; Format="flowed"
> > >
> > > Catching up...
> > >
> > >
> > > > Well I totally messed that up.  I'll add another pass that handles
> > > > Inline.  Does anyone know the semantics of Inlines and the best way to
> > > > splice/graft it into the main scenegraph body in DOM?  Obviously, it's
> > > > about time to integrate a JSON loader into X3DOM  and other Web
> > > > tools.  An alternative for X3DOM  is to use css selectors to patch in
> > > > the inline....will that even work naively?
> > > >
> > >
> > > I am familiar with the way X3DOM handles Inline files. X3DOM makes an
> > > HTTP GET request then runs the result back through the node parser. The
> > > node parser inserts the contents into the scene graph and DOM if
> > > nameSpaceName is defined.
> > >
> > > I could see something like one of the following:
> > > 1) Provide a JSON parser as X3DOM code that performs the correct calls
> > > to add the node content. This would duplicate the current parser and
> > > would lead to multiple code paths for populating the 3D scene graph
> > > 2) Provide a JSON -> X3D converter that transforms the returned JSON
> > > file to an X3D file, then feed that to the X3DOM parser. This has the
> > > advantage of being simpler but slower. Inline is not run frequently nor
> > > many times, so this may not be such a bad way to start.
> > >
> > > X3DOM is not really set up for plugin code, especially for parsing.
> > > Jumping to (1) may involve a lot of code maintenance if X3DOM undergoes
> > > a lot of changes.
> > >
> > >
> > > Leonard Daly
> > >
> > >
> > >
> > >
> > > > On Mar 30, 2016 12:05 AM, "John Carlson" <yottzumm at gmail.com
> > > > <mailto:yottzumm at gmail.com>> wrote:
> > > >
> > > >     Let me be more clear.  Do people want to use "Inline" as a key to
> > > >     an object containing a JSON @url in a file received unto my X3D
> > > >     JSON Loader?  I am thinking of adding a separate pass exclusively
> > > >     for doing Inline downloading and substitution in the scenegraph.
> > > >     I may do Inlines before protos so I can create protos from inlines
> > > >     (or vica versa if someone has a good feel for which comes first.)
> > > >     If no one is using the Inline tag to Inline JSON (they should be
> > > >     able to use Protos or ExternProtoDeclare with my server prototype
> > > >     expander).
> > > >
> > > >     The X3D JSON loader already has mechanisms for loading JavaScript
> > > >     objects, and a currently adjunct library for loading JSON URIs
> > > >     called loaderJQuery.js.
> > > >
> > > >     On Mar 29, 2016 11:50 PM, "Leonard Daly" <Leonard.Daly at realism.com
> > > >     <mailto:Leonard.Daly at realism.com>> wrote:
> > > >
> > > >         John,
> > > >
> > > >         I am not sure I have a full understanding of what you are
> > > >         asking. I am going to restate and provide my view.
> > > >
> > > >         Are you asking if people will use an X3D JSON loader using
> > > >         data stored in an HTML file rather than GETting it from a
> > > >         server? The data would be stored as a JavaScript variable
> > > >         (object) inside of a (HTML) script element.
> > > >
> > > >         It seems to me that including data in code in a file that is
> > > >         meant for display is not good practice. The data is content,
> > > >         but it needs to be processed before it is viewable as content.
> > > >         I see JSON as far more useful as downloaded data. This doesn't
> > > >         decrease the need for a XML->-JSON->XML converter chain. Does
> > > >         your JSON loader load the scene into an X3DOM environment? If
> > > >         not, what runtime do you use for display of the 3D content?
> > > >
> > > >         If it does load it into an X3DOM run-time, perhaps it is
> > > >         better written as the download callback routine for X3DOM's
> > > >         Inline.
> > > >
> > > >         Leonard Daly
> > > >
> > > >
> > > >
> > > >
> > > >>         Do people want to Inline JSON files in my X3D JSON Loader?  I think they do, but I?m pretty sure I want to separate the code out into my prototype expander.  How do people feel about this?  Ultimately, I think that X3DOM and Cobweb will fully support JSON, but until they do, can we develop a stopgap measure?
> > > >>
> > > >>         I don?t want to put Inline JSON in my X3D JSON Loader, because it introduces a dependency on AJAX/JQuery, and changes the DOM/XML so I can?t do roundtrip comparisons with the original X3D.
> > > >>
> > > >>         Who is using the X3D JSON Loader at this time and what are the requirements?  The loader is moving towards a support role for verifying the JSON encoding, and unless my customers speak up, it will continue to move that way.
> > > >>
> > > >>         John
> > > >>         _______________________________________________
> > > >>         x3d-public mailing list
> > > >>         x3d-public at web3d.org <mailto:x3d-public at web3d.org>
> > > >>         http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> > > >
> > > >
> > > >         --
> > > >         *Leonard Daly*
> > > >         3D Systems & Cloud Consultant
> > > >         X3D Co-Chair on Sabbatical
> > > >         LA ACM SIGGRAPH Chair
> > > >         President, Daly Realism - /Creating the Future/
> > > >
> > > >         _______________________________________________
> > > >         x3d-public mailing list
> > > >         x3d-public at web3d.org <mailto:x3d-public at web3d.org>
> > > >         http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> > > >
> > >
> > >
> > > --
> > > *Leonard Daly*
> > > 3D Systems & Cloud Consultant
> > > X3D Co-Chair on Sabbatical
> > > LA ACM SIGGRAPH Chair
> > > President, Daly Realism - /Creating the Future/
> > > -------------- next part --------------
> > > An HTML attachment was scrubbed...
> > > URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20160405/717ae12f/attachment.html>
> > >
> > > ------------------------------
> > >
> > > Subject: Digest Footer
> > >
> > > _______________________________________________
> > > x3d-public mailing list
> > > x3d-public at web3d.org
> > > http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> > >
> > >
> > > ------------------------------
> > >
> > > End of x3d-public Digest, Vol 85, Issue 11
> > > ******************************
>
>


************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20160406/fbb60caf/attachment-0001.html>


More information about the x3d-public mailing list