Re: Generalized Resources in XML3D

Dear Max,

sorry for the delay. I added my answers to the text below.

> Regarding X3D 4.0, or an X3DOM  integration of your proposals, I would
 > guess that point 1 (intra-document references) and point 3
 > (inter-document references) are, at least in parts, already covered
 > by X3D USE and <Inline> (IMPORT/EXPORT) mechanisms? How do your
 > proposals relate to those concepts?

X3D's USE/DEF mechanism is very general. All nodes can exploit the 
USE/DEF. This general approach is nice, but has three major drawbacks:
1. It's restricted to intra-document references
2. Visible objects can only be identified with a path. This very 
uncommon in the web and doesn't fit well with the DOM event system. BTW, 
how is this handled in X3DOM? If I attach a onmouse over to a shape and 
reuse the shape's group in some other part of the DOM (e.g. <Group 
USE="otherGroup">. Does this group receive events? What is the event's 
target? The other shape?
3. The USE/DEF mechansim does not allow to configure referenced elements

In contrast, we allow references only on data level. This is less 
convenient sometimes, but maps very well to the shared VBO/VBA concept 
of GL. One can easily mix inter- and intra-document references. A common 
pattern for example is:

<mesh id="characterHead">
  <int name="index">1 2 3 ...</index>
  <data src="../resources/male.bin"/>
</mesh>

This allows for fine granular composition of vertex attribute but also 
uniform attributes using the shader override mechanism. But it requires 
to have the structure of an object always being available in the DOM. A 
mechanism to avoid this is WIP.

>
 > The concept of composed and (even partially) shared mesh data, which
 > is employed by Xflow, is also very interesting. Looking at Figure 2
 > of the Xflow paper, it looks like <float3> and similar tags would
 > always use a textual description - did you already try to use some
 > form of binary containers here, like X3DOM BinaryGeometry and glTF
 > do?

Yes of course! We don't allow external references on data entry level, 
e.g. <float3 src="http://....."/>. But one can use binary containers on 
data level, which can include 1..n buffers. One can use arbitrary 
formats as data source, as long as those are mappable to a 
name×type×data tuple. In xml3d.js, we can extend the formats with a 
plug-in system. We have, e.g. plug-ins for MeshLab's JSON and OpenCTM 
(http://xml3d.github.io/xml3d-examples/). A mapping of SIG is possible 
as well, but requires Xflow to generate shaders. We're also keen to look 
into your excellent POP idea and explore how it fits to the XML3D 
concepts. It requires a deeper integration into the renderer that is 
currently very independent from the data source. Thus it would require 
some LOD mechansim to fully exploit POP. glTF is structured, thus one 
would have to define a mapping of ids, but it could be used as external 
format.

Additionally, having a flexible structured binary format is WIP.

Thanks for reviving the discussion!

   Kristian



>
 > Thanks a lot in advance!
 >
 > Best Regards,
 >
 > Max
 >
 >
 > -----Ursprüngliche Nachricht----- Von: Kristian Sons
 > [mailto:kristian.sons@dfki.de] Gesendet: Montag, 22. April 2013
 > 15:16 An: public-d3d mlist Betreff: Generalized Resources in XML3D
 >
 > Hello,
 >
 > no discussion on the mailing list for some time. Thus I would like to
 > raise a topic that seems to become more important and is strongly
 > related to the discussion on transmission formats.
 >
 > We recently published a paper at SEARIS 2013 [1] that explains the
 > architecture of xml3d.js. It's not directly related to the general
 > Polyfill architecture that we propose in the CG but rather explains
 > the concrete implementation of xml3d.js. It's very technical. But an
 > interesting topic for our Dec3D discussion is the _generalized
 > resource concept_, that we (finally) introduced in xml3d.js and that
 > is interesting for our initiative. I think, the general tendency in
 > XML3D as well as in X3DOM is to mix DOM representation with external
 > data. IGD has developed some interesting transmission formats and we
 > have a simple but powerful concept to use these (and other) formats
 > in a generic way. Here a very simple example:
 >
 > 1. Intra-document references: <mesh type="triangles"
 > src="#teapot-data"/>
 >
 > The data is really in the DOM and freely accessible using the DOM API
 > or libraries such as jQuery
 >
 > 2. External references to a single entity: <mesh type="triangles"
 > src="teapot.json"/>
 >
 > The whole mesh data set in a document, the document has no other
 > information than the mesh data
 >
 > 3. External references to a structured document: <mesh
 > type="triangles" src="primitives.xml#teapot"/>
 >
 > The concept is recursive, i.e. a structured document can itself
 > contain references again. In XML3D, the concept not only works for
 > meshes, but also for material descriptions, transformations, light
 > parameters etc. In combination with Xflow, it allows for dynamic
 > attributes. We have shown, that this concept can even work with more
 > complex mesh encodings such as SIG (using smart shader compositing).
 >
 > This might not be too relevant for hand-crafted scenes, but is very
 > powerful in client-server architectures, especially in a REST
 > context. For instance, it allows to adapt the data transmission
 > during runtime. On the other hand, if you need specialized nodes for
 > each transmission format (IndexedFaceSet, ImageGeometry etc), one
 > moves this logic to application level (adding/removing node instances
 > at runtime).
 >
 > It fits very well to other W3C initiatives, where the composition of
 > HTML documents from several source is becoming increasingly
 > important. Maybe this could also be a concept for X3D 4.0?
 >
 > Best regards, Kristian
 >
 > [1] http://www.searis.net/index.php5/Main_Page
 >
 > -- ________________________________________________________
 >
 > Kristian Sons Deutsches Forschungszentrum für Künstliche Intelligenz
 > GmbH, DFKI Agenten und Simulierte Realität Campus, Geb. D 3 2, Raum
 > 0.77 66123 Saarbrücken, Germany
 >
 > Phone: +49 681 85775-3833 Phone: +49 681 302-3833 Fax:   +49 681
 > 85775–2235 kristian.sons@dfki.de http://www.xml3d.org
 >
 > Geschäftsführung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster
 > (Vorsitzender) Dr. Walter Olthoff
 >
 > Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
 > Amtsgericht Kaiserslautern, HRB 2313
 > ________________________________________________________
 >
 >


-- 
_______________________________________________________________________________

Kristian Sons
Deutsches Forschungszentrum für Künstliche Intelligenz GmbH, DFKI
Agenten und Simulierte Realität
Campus, Geb. D 3 2, Raum 0.77
66123 Saarbrücken, Germany

Phone: +49 681 85775-3833
Phone: +49 681 302-3833
Fax:   +49 681 85775–2235
kristian.sons@dfki.de
http://www.xml3d.org

Geschäftsführung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster (Vorsitzender)
Dr. Walter Olthoff

Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
Amtsgericht Kaiserslautern, HRB 2313
_______________________________________________________________________________

Received on Tuesday, 22 April 2014 09:06:52 UTC