[x3d-public] [x3d] V4.0 Open discussion/workshop on X3D HTML integration

Philipp Slusallek philipp.slusallek at dfki.de
Thu Jun 16 22:04:23 PDT 2016


[Resent, as the original email was apparently not relayed through the list]

Hi,

Let me focus on the list at the end.

Am 08.06.2016 um 11:19 schrieb John Carlson:
> Here’s are the options of things to focus on:
> 
> 1.  Providing declarative abstractions for the graphics card, since
> WebGL exposes the graphics card.  This means fragment shader, textures,
> lighting and materials. (CSS4+images+canvas)

The only fully programmable option of I am aware of that does not use
the low-level mechanism of glsl is shade.js from our group. It is full
integrated into XML3D for rendering as well as Xflow for generic
handling of the input data, but it could be used also in other
frameworks with some effort. It uses a subset of JS for specifying
shaders and offers to compile them into glsl for both both forward and
deferred rendering. We also have a backend to ray tracing and globillum
renderers.

See http://xml3d.org/papers/ for the paper and XML3D.org for the
implementation.

> 2.  Provide a barebones structure for the scenegraph.  transforms OR
> groups, but not both. (DOM)

This is what I promoted in my email a bit earlier. We are then using
webComponents on top of this core, which seems to be the best way
forward in the Web technology stack and is really powerful.

> 3.  Provide ways to generate simple generic geometry to build objects,
> like spheres which can be used by shaders, with configurable # of faces.
>  The surfaces can be manipulated with vertex shaders.  Provide ways to
> declaratively specify unique geometry (perlin noise, etc.)—Geometry Shader.

Xflow offers exectly this capabilities. We already showed how (in
suitable cases) the processing can be fully integrated into the vertex
shader.

In a project with Intel we are currently working on extensing the
shade.js compiler to also generate code that could, for example, use
SIMD.js for processing that is not suitable for the GPU.

> 4.  Allow for more complex geometry specified by Blender. (SRC)

I would be a bit careful here but this should be discussed.

Our approach would be to specify this domain-specific functionality in a
WebComponent, whcih would also encapsulate the conversion into
renderable geometry based on the input data.

This functionality would not have to be in the core but could be loaded
on demand.

> 5.  Provide a way to apply fragment shaders and vertex shaders to
> objects (DOM).

See shade.js, we even merge the vertex shading code with the other code
that comes from the scene description  (light iteratirs, shadowing,
etc.). Shade .js then is able to extract all code int the specific
stages automaticalls (using dependency analysis). As a result some code
for fragment shading might get pulled into setting uniform variables in
JS, if there is no varying data associated with the geometry that
requires this code to be in the fragment shader stage.

> 6.  Provide a way to place and orient objects in the scenegraph.(DOM)

> 7.  H-Anim and physics.
> 8.  Geo.
> 10. Mobile

Many of these could be nicely implemented as separate WebComponents.

> 9. VR

WebVR is getting quite mature and we are currently integrating this in
XML3D. Seems rather straight forward. Suitable VR authoring is another
story, through.

> 11.  Templates or Macros of the above. (DOM).  I think the only way our
> own templating system is going to fly is if we apply it to HTML5 and SVG
> as well.

WebComonents is the HTML5 native way to here I would say.

> 12.  Proper support for HTML5 events on X3D objects.

Already implemented in XML3D and being integrated into the new common
structure.

> 12a: I would add full support for CSS for 3D elements. We have shwn
how this should be done in a paper at last years Web3D. There are a few
issues with proper support from CSS still waiting to be addressed, though.

> Wish List:
> 
> 13. SVG Extrusions for 3D printing Blind visualization.

Could probably be done as another domain-specific WebComponent on top of
the core.

> This sounds like a lot.   We need to figure out what we already have and
> apply resources where necessary.

As you see a lot of the functionality is already available (in the
current XML3D and X3DOM) and we are putting a proof of concept to bring
both of them together on top of a unified core.


Best,

	Philipp


> There may be new items to standardize in 1) reflection, refraction,
> prismatic and DVD effects 3) easy ways to subdivide boxes and spheres
> (already in X3DOM, I think) 8) great circle interpolator 9)  eye and
> motion control 10) standardized shader variable names.
> 
> Here’s how X3DOM needs to be extended to meet the above focus items:
> 
> 1. Add a templating system { CHOOSE ONE OR MORE, EVALUATE }
> 2. Add JSON { MEDIUM EFFORT }
> 3. Standardized shader variables. { PROBABLY EASY }
> 4. Access to CSS  from X3DOM (through id, style and class attributes).
>  { BIG EFFORT }
> 5. Add VR devices (this should come for free from the browser vendors)
> 
> 
> The last 4 of these apply to Cobweb as well.  Perhaps those should be
> the ones we focus on.  If we want a JSON templating system, we’ll have
> to do that as well.
> 
> John
> 
> 
> 
> 
> 
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> 

-- 

-------------------------------------------------------------------------
Deutsches Forschungszentrum für Künstliche Intelligenz (DFKI) GmbH
Trippstadter Strasse 122, D-67663 Kaiserslautern

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

Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
VAT/USt-Id.Nr.: DE 148 646 973, Steuernummer:  19/673/0060/3
---------------------------------------------------------------------------


-- 

-------------------------------------------------------------------------
Deutsches Forschungszentrum für Künstliche Intelligenz (DFKI) GmbH
Trippstadter Strasse 122, D-67663 Kaiserslautern

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

Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
VAT/USt-Id.Nr.: DE 148 646 973, Steuernummer:  19/673/0060/3
---------------------------------------------------------------------------



More information about the x3d-public mailing list