[x3d-public] review of various X3D statement implementations for X3DOM
Andreas Plesch
andreasplesch at gmail.com
Wed Dec 13 12:57:24 PST 2017
Thanks for sharing these wiki updates. These are great x3dom summaries.
http://www.web3d.org/wiki/index.php/X3D/HTML_Implementations#X3DOM_specific_event_handlers
In addition to onoutputchanged there is also a very useful but not
officially documented onviewpointchanged event. See these github
issues:
https://github.com/x3dom/x3dom/search?q=viewpointchanged&type=Issues&utf8=%E2%9C%93
http://www.web3d.org/wiki/index.php/X3D/HTML_Implementations#X3D_Nodes_with_additional_or_missing_fields
crossOrigin does relate to CORS which prohibits fetching from remote
resources unless explicitly allowed. crossOrigin = "anonymous" can be
very useful if remote host allows it.
http://www.web3d.org/wiki/index.php/X3D/HTML_Implementations#Additional_nodes_not_in_X3D
Since I just came across it there is also RenderedTexture
(https://github.com/x3dom/x3dom/blob/master/src/nodes/Texturing/RenderedTexture.js)
which is documented as X3D native because it sounds like it should but
in fact is not in the standard as far as I can see.
http://www.web3d.org/wiki/index.php/X3D/HTML_Implementations#CSS
x3dom does respond to some CSS:
https://examples.x3dom.org/example/x3dom_cssTrans.html
But I think it is restricted to 3D transformations and animations, and
only a Transform (and perhaps other grouping) nodes can be styled in
that way.
The X3D element can be styled as well. Dynamic changes to the style
may have to be applied to the generated Canvas element.
X-ITE has an accurate list of supported nodes:
http://create3000.de/x_ite/supported-nodes/#supported-components
It sticks very closely to the X3D spec. I am not aware of missing or
additional fields for supported nodes. In itself it does not expose
any X3D specific events to the DOM and the X3D nodes are not part of
the DOM. They still can be accessed via the SAI programmatically after
getting a browser reference. There is my X_ITE_dom extension which
adds the X3D nodes to the DOM, and generates X3D specific events. In
fact, with X_ITE_dom all X3D out events become custom X3D specific DOM
events with names derived from the X3D event name.
The X3D element probably can be styled. Dynamic changes to the style
may have to be applied to the generated Canvas element.
Glad to help answer any questions which may arise,
-Andreas
On Wed, Dec 13, 2017 at 3:00 PM, <x3d-public-request at web3d.org> wrote:
>
> Message: 1
> Date: Wed, 13 Dec 2017 09:39:31 -0800
> From: Don Brutzman <brutzman at nps.edu>
> To: Roy Walmsley <roy.walmsley at ntlworld.com>
> Cc: <x3d at web3d.org>, X3D Graphics public mailing list
> <x3d-public at web3d.org>
> Subject: Re: [x3d-public] [x3d] Agenda for X3D WG Meeting Wednesday
> 13th December 2017
> Message-ID: <8c586ea5-bf61-ba0b-c95f-5173ecf2d3c2 at nps.edu>
> Content-Type: text/plain; charset="windows-1252"; format=flowed
>
> Today's X3D Working Group discussion is including review of various X3D statement implementations for X3DOM and X_ITE.
> http://www.web3d.org/wiki/index.php/X3D/HTML_Implementations
>
> Related work from a few years ago: conjecture that associated shared SAI methods providing values of broad authoring utility, that perhaps might be exposed to authors via direct ROUTE connections.
>
> http://www.web3d.org/x3d/content/examples/Basic/development/SceneNodePrototypeIndex.html
> http://www.web3d.org/x3d/content/examples/Basic/development/SceneNodePrototype.html
> http://www.web3d.org/x3d/content/examples/Basic/development/SceneNodePrototype.x3d
>
> ==================================================
> <meta name='title' content='SceneNodePrototype.x3d'/>
> <meta name='created' content='19 December 2000'/>
> <meta name='modified' content='14 November 2015'/>
> <meta name='description' content='Expose functionality of Browser class in Java/ECMAscript annexes of VRML 97 specification. Consider promotion to a native node in X3D/VRML 200x scenes.'/>
>
> <ProtoDeclare name='Scene'>
> <ProtoInterface>
> <!-- Standard browser attributes exposed via VRML 97 Script annexes -->
> <field accessType='inputOnly' name='createVrmlFromString' type='SFString'/>
> <field accessType='inputOnly' name='createVrmlFromURL' type='SFString'/>
> <field accessType='outputOnly' name='createdVrmlNodes' type='MFNode'/>
> <field accessType='outputOnly' name='currentFrameRate' type='SFFloat'/>
> <field accessType='outputOnly' name='currentSpeed' type='SFFloat'/>
> <field accessType='inputOnly' name='description' type='SFString'/>
> <field accessType='inputOnly' name='evaluate' type='SFBool'/>
> <field accessType='inputOnly' name='loadUrl' type='SFString'/>
> <field accessType='inputOnly' name='loadUrlParameter' type='SFString'/>
> <field accessType='outputOnly' name='name' type='SFString'/>
> <field accessType='inputOnly' name='replaceWorld' type='MFNode'/>
> <field accessType='outputOnly' name='version' type='SFString'/>
> <field accessType='outputOnly' name='worldUrl' type='SFString'/>
> <field accessType='inputOnly' name='addRoute' type='SFBool'/>
> <field accessType='inputOnly' name='deleteRoute' type='SFBool'/>
> <field accessType='inputOnly' name='fromNode' type='SFNode'/>
> <field accessType='inputOnly' name='fromEventOut' type='SFString'/>
> <field accessType='inputOnly' name='toNode' type='SFNode'/>
> <field accessType='inputOnly' name='toEventIn' type='SFString'/>
> <!-- Candidate additions -->
> <field accessType='outputOnly' name='boundBackground' type='SFNode'/>
> <field accessType='outputOnly' name='boundFog' type='SFNode'/>
> <field accessType='outputOnly' name='boundGeoViewpoint' type='SFNode'/>
> <field accessType='outputOnly' name='boundNavigationInfo' type='SFNode'/>
> <field accessType='outputOnly' name='boundViewpoint' type='SFNode'/>
> <field accessType='outputOnly' name='response' type='MFString'/>
> <field accessType='inputOutput' name='dashboardVisible' type='SFBool' value='true'/>
> <field accessType='inputOutput' name='pixelWidth' type='SFInt32' value='-1'/>
> <field accessType='inputOutput' name='pixelHeight' type='SFInt32' value='-1'/>
> </ProtoInterface>
> ==================================================
>
> Feedback welcome, thanks for considering the possibilities.
>
> 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
>
>
>
> ------------------------------
>
> 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 105, Issue 33
> *******************************************
--
Andreas Plesch
Waltham, MA 02453
More information about the x3d-public
mailing list