[x3d-public] Representation Inspiration [was: Presentation from SVVR2017]
Leonard Daly
Leonard.Daly at realism.com
Fri Apr 14 08:54:20 PDT 2017
I just had an inspiration and would like to run it by people. This may
have been obvious to everyone else, but it's the first time I have
thought of it this way.
In X3D a Grouping node (e.g., Transform, Group, etc.) can contain other
nodes. These usually define scene objects and collect them together in
some sort of organized system. Looking at a Transform node that does not
have any Transform children, that node can be thought of as a single
entity with all of the children nodes and fields contained in that
single parent.
For example
<Transform translation='1 2 3' rotation='1 0 0 3.14' scale='3 2 1'>
<Shape>
<Cone></Cone>
<Appearance>
<Material diffuseColor='1 .5 .2' specularColor='.8 0
0'></Material>
</Appearance>
</Shape>
</Transform>
Could be represented (using an arbitrary, non-XML representation) as:
Transform {translation:(1 2 3); rotation:(1 0 0 3.14); scale:(3 2 1);
geometry:Cone; diffuseColor:(1 .5 .2); specularColor:(.8 0 0);}
Thereby collapsing five elements (in XML) into one. [I am not advocating
that this is the right approach.] Do note that this looks a lot like a
CSS statement - it was not intentional. Note that in this representation
it is not possible to have more than one Shape node. What is really
being defined is a mesh (geometry + texture) at a specific translation,
scale, and rotation. If the desired final geometry is a cube + sphere,
it would take two statements to make that work (or make the geometry in
Blender and output a single piece of geometry).
Higher level transforms would have a reference to a previously defined
Transform. For example something like:
Transform {children:(Transform#One Transform#Two Transform#Three);}
For me, what makes this important is that it is a lot like the
definitions in A-Frame on an entity. I know that there are a lot of
capabilities of X3D that are not being included in this example, but
this gives me connection between the two in representing the same objects.
I am interested in what others have to say about this connection idea.
Leonard Daly
> Great points!!
>
> Sounds like a combination of the two is best.
>
> I am afraid that if there is not strong advocacy for the strengths of
> both, we will wind up with A-Frame only and unless it is somehow
> extended will hobble rich webVR worlds for a longer time than necessary.
>
>
> On 4/13/17 8:02 PM, Leonard Daly wrote:
>> On 4/13/2017 6:55 PM, Michael Aratow wrote:
>>>
>>> Do we really need to have both A-Frame and X3D? This seems to be
>>> making things unnecessarily complicated for VR content authors.
>>> Either one or the other or something that is a combination of the two?
>>>
>>
>> [Usual caveats apply here -- this is a discussion of displaying 3D in
>> a web browser environment using a declarative HTML-like language.]
>>
>> Only one will end up surviving.
>>
>> A-Frame is simple, easy to understand, and supported by some very
>> large and influential organizations
>>
>> X3D is complex, fully declarative, rich environment and is frequently
>> never heard of or ignored.
>>
>> A-Frame is not currently capable of handling (without coding)
>> Geospatial, volume, CAD, metadata, and 3D printing (though it is
>> usually the just the models that are printed).
>>
>> A-Frame's component system isolates individual elements of the scene.
>> It is difficult to impossible to build up a composite structure of
>> multiple elements. In X3D this is done as a Transform containing
>> another Transform containing ... So far, I have not found a way to
>> even Group elements together; however, it may be beyond where my
>> detailed reading has taken me so far.
>>
>> So far, I believe that it is difficult (or impossible) to have your
>> model in X3D and express it in A-Frame. I believe that it is possible
>> to have a separate file that is just a model and load that (as
>> geometry or geometry+texture). I think traditional X3D (rigid-body,
>> key-frame) animation cannot be done in A-Frame on pieces of X3D models.
>>
>> I am trying to get at the basic philosophy of X3D and A-Frame and see
>> what use cases each cover and not cover.
>>
>> A-Frame appears to put each element in a box. The elements can only
>> change in pre-defined manners and two elements cannot merge. X3D is
>> far more flexible in this regard. I don't know how I would handle
>> certain types of visualization or user-controlled on-the-fly geometry
>> changes or arbitrary network updates in A-Frame.
>>
>>
>> Leonard Daly
>>
>>
>>
>>>
>>> On 4/11/17 12:57 PM, Andreas Plesch wrote:
>>>>
>>>> From: Leonard Daly <Leonard.Daly at realism.com
>>>> <mailto:Leonard.Daly at realism.com>>
>>>> To: x3d-public at web3d.org <mailto:x3d-public at web3d.org>
>>>>
>>>> A-Frame's VR capability (as all of its rendering capability) is
>>>> provided
>>>> by Three.js. I know that Unreal has rather extensive VR (Rift,
>>>> Vive)
>>>> headset capability. I believe that Unity does too. Since the
>>>> focus for
>>>> this talk was on browser-based VR, I couldn't spend the time
>>>> addressing
>>>> VR capabilities of these platforms.
>>>>
>>>>
>>>> True, A-Frame only provides the declarative DOM layer, and three
>>>> does all the rendering.
>>>>
>>>> Unity can export to webgl but I do not know if or how it supports
>>>> webvr.
>>>>
>>>> >
>>>> > Did you get feedback after your presentation ? Anything you
>>>> can share
>>>> > would be interesting.
>>>>
>>>> Nothing significant. There was more in discussions with other
>>>> attendees
>>>> at the conference who did not see my presentation. I'll be
>>>> posting that
>>>> over the next month or so.
>>>>
>>>>
>>>> ok. thanks.
>>>>
>>>> >
>>>> > The idea of combining of x3dom and A-Frame somehow is
>>>> interesting. I
>>>> > think it would boil down to implementing a new x3d browser on
>>>> top of
>>>> > A-Frame which may be quite possible. I experimented by
>>>> reimplementing
>>>> > IndexedFaceSet and ElevationGrid in A-Frame and think that
>>>> geometry
>>>> > and material nodes could be quite straightforward. Not sure about
>>>> > everything else but probably possible with a lot of work. It also
>>>> > would mean having a SAI on top of the DOM (as being
>>>> manipulated by
>>>> > A-Frame and custom event interfaces). Your presentation made
>>>> a good
>>>> > argument that there is a lot of value in having a wide set of
>>>> > standardized capabilites.
>>>>
>>>> Personally, I think putting X3DOM on top of A-Frame is a bit like
>>>> inverting a pyramid. A-Frame (as defined, not extended) is a rather
>>>> limited-capability system. I think it would be much easier to put
>>>> A-Frame on top of X3DOM -- except the part with A-Frame
>>>> extensions. I
>>>> think a better choice is to merge the two keeping the most
>>>> important
>>>> capabilities of both. I am formulating some ideas on that.
>>>>
>>>>
>>>> Well, the idea of A-Frame is to be extensible with the hope that
>>>> over time enough functionality emerges so it becomes truly easy to use.
>>>>
>>>> A-Frame takes care of parsing html (using html5 custom elements API
>>>> I believe), helps with defining nodes, and provides rendering and
>>>> interaction basics. To me it does sound like a good intermediate
>>>> layer between three and x3d. And it exists. Of course, then all
>>>> elements have to start with 'a-'.
>>>>
>>>> -Andreas
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> x3d-public mailing list
>>>> x3d-public at web3d.org
>>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>
>>>
>>>
>>> _______________________________________________
>>> x3d-public mailing list
>>> x3d-public at web3d.org
>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>
>>
>> --
>> *Leonard Daly*
>> 3D Systems & Cloud Consultant
>> LA ACM SIGGRAPH Chair
>> President, Daly Realism - /Creating the Future/
>>
>>
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
>
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
--
*Leonard Daly*
3D Systems & Cloud Consultant
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/20170414/2387e924/attachment.html>
More information about the x3d-public
mailing list