Collaborative 3D Web Viewer
Nowadays, the Browser has emerged as the center of collaboration for every day’s work. Collaborative tasks involving 3D graphics, however, still require specific desktop applications and necessitate expert knowledge. The FITMAN "Collaborative 3D Web Viewer (C3DWV)” Specific Enabler allows for the transition of this work into the Browser and eliminates the need for specific desktop applications and expert knowledge to visualize and edit 3D virtual scenes. As an HTML5 web application that runs in all WebGL compatible browsers such as “Firefox” and “Google Chrome”, it is accessible on a variety of devices, including Tablets and Smartphones. It is collaborative in the sense that multiple users are able to see and interact with the same scene at the same time. Moreover, it synchronizes all information between all participating clients to provide a consistent view. This Specific Enabler is targeted for the Digital Factory domain but will be useful for other domains too, where real-time visualization is an important aspect.
C3DWV is a JavaEE application, based on EJB 3.1 and CDI, and uses JPA as a storage backend. Its main data model is an Entity-Component Architecture (ECA), where its Entities are nodes in a Scene Tree, and metadata concerning these Entities are the Components. This design favours composition over inheritance and is a popular design among interactive applications, such as games. It provides a JSF-based web application built on top of the FIWARE generic enabler “3D-UI-XML3D”, which provides a 3D visualization of the Scene Tree.
- Entity: A unique ID that identifies each individual item in the scene
- Component: A collection of key value pairs (attributes) reflecting a single concern of the application, e.g. transformable, renderable
- System: A part of the implementation that provides a specific concern using the components and their attributes
Therefore, the main objectives of this SE are:
- The synchronization of a generic 3D scene graph model between multiple concurrent clients.
- The collaborative exploration of 3D scenes inside the browser.
- The prototypical layouting of a XML3D scene.
The following image shows the web interface of Collaborative 3D Web Viewer.
The center of the interface shows the 3D virtual scene rendered using the “3D-UI-XML3D” generic enabler. On the left hand side the outline of the current scene graph is shown. This outline provides detailed information about the hierarchical composition of the scene, e.g. parent child relationships between entities. The properties view on the right hand side shows all components and their data that are attached to a selected entity.