[x3d-public] review of various X3D statement implementations for X3DOM

Andreas Plesch andreasplesch at gmail.com
Wed Dec 20 06:51:39 PST 2017


Hi Roy,

thanks for adopting my notes in the wiki.

Here are some notes on x_ite:

http://www.web3d.org/wiki/index.php/X3D/HTML_Implementations#X3D_Canvas_Tag_and_Attributes
:

There is a dedicated section on
http://create3000.de/x_ite/getting-started/ half way down.


http://www.web3d.org/wiki/index.php/X3D/HTML_Implementations#Javascript_functions_2
:

x_ite adds a global js function called X3D:
http://create3000.de/x_ite/accessing-the-external-browser/ .
The X3D function expects a callback function as an argument. The
callback is invoked when the x_ite browser is ready to be used.
X3D is also a global managment object with utility methods such as the
getBrowser('selectorForX3DCanvasElement') method which returns a
reference to a SAI browser object.
The returned browser object then can be used to access the scene via
SAI functions.


http://www.web3d.org/wiki/index.php/X3D_V4_HTML_Integration_Requirements:

cobweb references should be updated to x_cite

(DEF/USE in x3dom: There are a several x3dom issues about picking a
USE Shape. Since x3dom literally places the referenced DEF Shape in
the scene graph, the picking actually reports the node of the
referenced DEF Shape when the USE Shape is picked. This is because
x3dom actually does not keep a distinct representation of the USE node
at all. Except for the fact that the DEF node now has two parents.
This may be too literal an interpretation of the DEF/USE concept, and
I wonder if in the spec. there is a section which explains how the
node which has a USE reference is still a distinct node. I suspect
that keeping such a distinct node around is how most x3d browsers work
?
glTF 2.0 is a strict tree, eg. only one parent per node. Copies are required.)

-Andreas


On Wed, Dec 20, 2017 at 8:33 AM, Roy Walmsley <roy.walmsley at ntlworld.com> wrote:
> Andreas,
>
>
>
> Many thanks for the follow up details you provided. I have now added these
> to the X3D/HTML Implementation wiki page. I have also added material from
> our discussions last week, which covered a couple of additional items for
> X3DOM, and then moved on to X_ITE. If you have any additions or corrections,
> please feel free to let me know, and I will update the wiki page.
>
>
>
> All the best,
>
>
>
> Roy
>
>
>
> -----Original Message-----
> From: x3d-public [mailto:x3d-public-bounces at web3d.org] On Behalf Of Andreas
> Plesch
> Sent: 13 December 2017 20:57
> To: X3D Graphics public mailing list <x3d-public at web3d.org>
> Subject: Re: [x3d-public] review of various X3D statement implementations
> for X3DOM
>
>
>
> 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/SceneNodeP
>
>> rototypeIndex.html
>
>> http://www.web3d.org/x3d/content/examples/Basic/development/SceneNodeP
>
>> rototype.html
>
>> http://www.web3d.org/x3d/content/examples/Basic/development/SceneNodeP
>
>> rototype.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
>
>
>
> _______________________________________________
>
> x3d-public mailing list
>
> x3d-public at web3d.org
>
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org



-- 
Andreas Plesch
Waltham, MA 02453



More information about the x3d-public mailing list