2018 Publishing and Consuming 3D Content On The WebA Survey
2018 Publishing and Consuming 3D Content On The WebA Survey
net/publication/329639149
Article in Foundations and Trends® in Computer Graphics and Vision · December 2018
DOI: 10.1561/0600000083
CITATIONS READS
4 1,624
4 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Marco Potenziani on 13 June 2019.
ABSTRACT
Three-dimensional content is becoming an important com-
ponent of the World Wide Web environment. From the
advent of WebGL to the present, a wide number of solutions
have been developed (including libraries, middleware, and
applications), encouraging the establishment of 3D data as
online media of practical use. The fast development of 3D
technologies and related web-based resources makes it diffi-
cult to identify and properly understand the current trends
and open issues. Starting from these premises, this survey
analyzes the state of the art of 3D web publishing, reviews
the possibilities provided by the major current approaches,
proposes a categorization of the features supported by exist-
ing solutions, and cross-maps these with the requirements of
a few main application domains. The results of this analysis
should help in defining the technical characteristics needed
to build efficient and effective 3D data presentation, taking
into account the application contexts.
Marco Potenziani, Marco Callieri, Matteo Dellepiane and Roberto Scopigno (2018),
“Publishing and Consuming 3D Content on the Web: A Survey”, Foundations and
Trends R in Computer Graphics and Vision: Vol. 10, No. 4, pp 244–333. DOI:
10.1561/0600000083.
The version of record is available at: http://dx.doi.org/10.1561/0600000083
1
Introduction
2
The version of record is available at: http://dx.doi.org/10.1561/0600000083
4 Introduction
users, the publishing venue typology, the application field, and the
planned outcome. The growing number of solutions has contributed
to familiarizing users with the presence of 3D on the web, but it has
also resulted in an extremely complex scenario, where developers and
users often find it difficult to orient themselves, especially those devel-
opers with a poor awareness of the particular needs of each specific
combination of 3D data and application domain requirements.
This survey presents a review aimed at coping with these needs. Our
main goal is to define a schema of the available possibilities and features
supported by the enabling technologies and implemented systems. This
is aimed at providing the reader with a map that, depending on the
application field, could help in navigating through the technical charac-
teristics needed to build an efficient and effective Web3D presentation.
Our hope is that the result of this survey could be helpful for readers
interested in mastering concepts that characterize the different phases of
the 3D publishing process: content creators (enhancing their awareness
about the Web3D ecosystem of libraries and authoring tools), content
consumers (increasing their ability to fully experience the capabilities of
existing systems), and finally also researchers and developers of future
solutions.
For the purpose of this review we have evaluated a heterogeneous set
of software applications and the state of the art of the scientific literature.
The characterization of available solutions proved to be difficult, due to
the heterogeneity of the approaches proposed and the number of issues
to be considered. Moreover, this survey is designed to focus not only on
the current trends, but also on the big challenges that researchers and
developers face when sophisticated 3D graphics have to be efficiently
ported to the web.
This monograph is organized as follows. Chapter 2 provides a short recap
of the evolutionary process bringing us from the early Web3D phases up
to the launch of WebGL. Chapter 3 presents three grand challenges to
be faced in the development of 3D web content and resources. Chapter 4
presents the categorization adopted for the analysis of the state of
the art of current Web3D solutions and technologies, defining a set of
features required for 3D web publishing which are described in detail in
The version of record is available at: http://dx.doi.org/10.1561/0600000083
2
Web3D, from Plug-ins to WebGL
A pioneering work [146], published just a few months after the first
WebGL release [100], was already asking the question “Is 3D finally
ready for the web?” The paper’s author stated that, despite the 16 years
that had elapsed since the universally recognized Web3D foundation
stone of the VRML web standard [157], 3D and the web still seemed
to be two distinct worlds. However, although it was still not easy to
find 3D content online, the recently introduced technology justified the
expectation of a forthcoming major change. In particular, Ortiz’s paper
suggested that WebGL would be the “most interesting development”
for the future of Web3D, as in fact it happened. But let us start from
the beginning.
6
The version of record is available at: http://dx.doi.org/10.1561/0600000083
to cope with all the needs of web publishing. Moreover, they needed
additional software to enable visualization in web browsers. This last
issue was probably the biggest hurdle to the success of that generation
of solutions. Those attempts required the design (and use) of propri-
etary plug-ins, inaccessible to independent developers, that were poorly
integrated with other web page elements.
Besides the previously mentioned Adobe Flash [44], Sun Microsys-
tems Java applets [24] were presumably the earliest plug-in able to
integrate computationally onerous content on the web. First released
in 1995, these are small client-side applications executed in the Java
Virtual Machine, an abstract computing machine developed for running
Java bytecode in a hardware-agnostic mode. Although Java applets
probably constitute one of the first attempts to access the graphical
processing unit (GPU) from a web browser (well before WebGL), they
were not specifically aimed at managing 3D content. A further develop-
ment in 1998 was the release by Sun of Java3D [181], an API expressly
designed to simplify the development of 3D web applications. Java3D
provided high-level constructs to create and manipulate 3D geometries,
supporting both Direct3D and OpenGL. Java3D was later discontin-
ued, but the effort to embed 3D content online using Java has been
carried on by other libraries, like JOGL [Java OpenGL; 91] and LWJGL
[Lightweight Java Game Library; 119], known for being used in the
development of the popular Minecraft game [149].
The whole Java ecosystem ignited and supported the design of
interesting solutions at the beginning of the Web3D era, concerning
both academic outcomes and software results. To cite a few: RAVE
[Resource-Aware Visualization Environment 71], an applet designed for
collaborative server-side visualization; COLLAVIZ [53], a framework for
collaborative data analysis developed using JOGL; ParaViewWeb [94],
an applet for remote 3D processing and visualization (later adapted
to WebGL); and finally OSM-3D [214], an interactive 3D viewer for
OpenStreetMap data developed as an applet.
Java-based applications were thus the first approaches to support
3D content publishing online, but not the only ones. Indeed, just a year
after Sun’s initial release, Microsoft unveiled ActiveX [126], essentially a
framework for downloading multimedia content from the web. Developed
The version of record is available at: http://dx.doi.org/10.1561/0600000083
with a philosophy similar to Java applets, it does not use files compiled
to bytecode, but dynamically refers to OS libraries (which share the
same memory space with the browser). This solution makes ActiveX
very fast in execution, but causes drawbacks related to security and
OS dependency which hindered the wider adoption of this solution.
Microsoft changed their approach in 2007 by releasing Silverlight [127],
a client-side API for developing web applications, this time closer to the
Adobe Flash philosophy. Silverlight is another solution not specifically
aimed at 3D, but is able to provide a programmable graphics pipeline
and basic 3D transforms, thus resulting in a step forward from the
Adobe Flash plug-in, which was not able to access GPU functionalities
until the release of the Stage 3D add-on [3].
Conversely to Adobe Flash, the Google O3D project [65] was de-
signed from the beginning to support the use of GPU features (either
via Direct3D or OpenGL). Released in 2009 as an open-source plug-in
for creating interactive 3D applications, it was ported to WebGL just a
few months after.
Finally, two approaches developed just before WebGL were the
Opera Software plug-in [92] and the Canvas3D [129] project, with its
supporting library C3DL [114]. These solutions, aimed at creating
an OpenGL context in the HTML CANVAS element, were WebGL
precursors, later becoming part of the new standard.
3
Grand Challenges for 3D on the Web
11
The version of record is available at: http://dx.doi.org/10.1561/0600000083
The efficient visualization of 3D data over the Internet has long been
both one of the most important research areas and a characterizing topic
of Web3D. The great number of solutions aimed at 3D web publishing
available nowadays can be misleading in this regard: this topic is still
an active research field, and most of the existing applications work well
because they have been calibrated just to render specific types of highly
optimized 3D assets. A definitive and universal answer to the many
issues characterizing the effective management of complex 3D datasets
online still does not exist.
The difficulties of handling interactive 3D content over a network
mainly arise from insufficient computational resources (usually due
to client-side limitations), poor network capabilities (usually due to
limited bandwidth and latency issues), and the huge amount of data to
be processed (usually due to the intrinsic complexity of the 3D content).
The latter factor is critical, since 3D models are usually complex
resources in terms of elementary components (number of triangles
or points), resolution of the attached texture images, and memory
size. Some examples of 3D models (particularly the more professional
ones) can be misleading, since we may be fooled by a highly optimized
geometry or the extensive use of textures to encode geometric detail and
save on explicit geometry. The more usual models produced nowadays
might be composed of millions of triangles, causing severe network traffic
The version of record is available at: http://dx.doi.org/10.1561/0600000083
4
Feature-Based Characterization of Web3D
Solutions
Since the first WebGL release, the resulting Web3D growth has resulted
in a myriad of different proposals, diversified depending on content,
target, context, and of course, expected results. In order to define a
schema of the available (or required) features, a categorization of these
approaches is required.
22
The version of record is available at: http://dx.doi.org/10.1561/0600000083
Lib/Lib++ Supporting libraries for the WebGL API (low level, cod-
ing is required). The notation covers the whole low-level scenario,
starting with basic libraries that do not provide high-level features,
like Lightgl.js [205], a bare-bones WebGL wrapper, abstracting
The version of record is available at: http://dx.doi.org/10.1561/0600000083
Although this layered scheme fits very well with a wide range of
reviewed cases (in Figure 4.3 we present just three graphical examples
describing some of the cited software), on closer analysis it turns out to
be not flexible enough to provide a complete characterization of all the
existing solutions. For instance, it fails to clearly classify “multi-level”
libraries (wrapping libraries providing, at the same time, very low-level
and very high-level access), or again to correctly identify solutions like
3D publishing standalone suites to download and install (end products
that act like middleware systems but at the same time provide very
low-level possibilities).
To accomplish our categorization, we therefore decided to propose
a different point of view: a systematic study of the features supported
by the state-of-the-art solutions, organized in a subset of macro-groups.
The reason for following a “per feature” review rather than presenting
the domain by listing and describing all solutions is also related to a
wish to promote a transverse analysis over the possibilities offered by
the main approaches. In this way, instead of producing a linear list
The version of record is available at: http://dx.doi.org/10.1561/0600000083
5
Analysis of the Features
30
The version of record is available at: http://dx.doi.org/10.1561/0600000083
that the data involved in the publishing process, and the related design
choices, play a central role in characterizing each Web3D solution.
So, content creators approaching Web3D publishing face a prelim-
inary basic characterization, strongly dependent on data types and
representation schemes. The visualization of different datasets requires
different data representation and rendering techniques, also influencing
the choice of the proper publishing channel.
For instance, volume visualization (very popular in medical applica-
tions, but also in geographic and meteorological visualizations) often
relies on volume ray-marching rendering algorithms, i.e. GPU-based
techniques that use textures for data storage—MEDX3DOM [42] and
X Toolkit [73, 212] are two examples of medical solutions adopting this
rendering approach). If, conversely, the aim is to visualize a particle
system, it would be preferable to use the ray-casting technique (another
GPU-based technique, that defines objects using implicit primitives,
and then generates their surface by computing ray–object intersections).
Examples that fruitfully exploit this approach can be found in the
biomedicine/molecular visualization domain, where atoms are approxi-
mated by spheres whose centers and radii are the parameters sent to
the GPU; examples include the systems by Mwalongo et al. [135] and
Chandler et al. [37].
Even though data-specific rendering techniques are frequent, recent
advances in web technologies (once again, JavaScript improvements
and WebGL availability) have made the triangle-based approach more
and more efficient, making it the most widely used approach, not
only when “classical” mesh-based 3D models are involved, but also
extending this representation to the visualization of other types of data:
geospatial maps [89], city models [60], marine data [158], and many
others, including the very same volumetric 3D datasets [72] and particle
systems [160] mentioned previously.
However, despite the increase in performance due to the adoption of
GPU-enabled rendering solutions, the efficiency of the rendering system
remains tightly coupled with the intrinsic characteristics and granularity
of the data, thus maintaining the importance of a careful choice of data
representation and rendering strategy.
The version of record is available at: http://dx.doi.org/10.1561/0600000083
are the Visual Media Service [201, 153], a web service providing easy
online presentation of complex visual media assets (it converts data
to the multi-resolution Nexus open-source format), and the Sketchfab
platform [171] for community sharing of 3D models (it converts data to
a rendering-optimized and compressed proprietary representation).
However, especially if uncontrolled and undocumented (as is of-
ten the case in commercial systems), data conversion can affect data
integrity. This may be perceived as quality degradation and can repre-
sent a problem in some specialized application fields (such as medical
diagnostics data visualization and analysis).
The migration of 3D data toward web-friendly representation formats
(simplified and/or compressed) is fundamental when storage and data
transmission requirements are critical issues, as in the case of service-
oriented platforms. So, also considering the peculiarities of 3D data,
the cost of online models (measured by disk space footprint) can easily
become a relevant discriminant in the choice of the most appropriate
publishing approach. Usually, commercial Web3D platforms that offer
publishing space for sharing 3D creations propose freemium or payment
plans diversified on the required storage space or on the provided
rendering quality, e.g. PlayCanvas [54], a game engine for creating,
publishing, and sharing interactive 3D applications on the web. But disk
space and bandwidth efficiency are also central issues when working with
open-source solutions (which usually let the developer embed the 3D
viewer in a web page for free). In fact, in this case the server storage and
bandwidth resources are generally outsourced to an external fee-based
service.
The policies adopted for 3D data encoding have a potential impact
on another important Web3D feature, the IPR management issue.
Exploiting LoD/multi-resolution and view-dependent techniques may
represent not only an advantage in terms of performance, but also a
sort of implicit data protection. Since with these approaches the full
3D model is never sent for rendering in its entirety (in fact, Web3D
systems send to the client only model chunks customized for the current
view specifications), a fraudulent copy of the original data would need
more advanced methods (reverse engineering techniques). But when
LoD/multi-resolution is not needed and the 3D object used has a
The version of record is available at: http://dx.doi.org/10.1561/0600000083
Figure 5.3: The interactive 3D web application developed by NASA using exclu-
sively open-source software (including the commercially licensed Blend4Web). This
application was released in 2015 to celebrate the third anniversary of the Curiosity
rover landing on Mars. The end user can control both the rover and the camera,
driving the rover across the bookmarked views placed on the virtual scene (for
example, marker number 3 in the figure).
Strongly connected to the scene, the interaction level is one of the most
characteristic features of a Web3D solution. While the features at this
level may be tailored to specific types of 3D data/content/application,
we can also envision in this case some common elements and some
characterizing features. User interaction in a Web3D solution happens
at different levels. It includes features supporting interaction paradigms
that work at object or scene level (trackballs, first-person controllers,
manipulators, etc.), but it is also present as interface elements focused
The version of record is available at: http://dx.doi.org/10.1561/0600000083
on the interaction between the web page and the 3D layer (toolbars,
hypertext-based functions, etc.), or it may even concern the interaction
of the Web3D environment with novel technologies and input/output
devices (touch surfaces, VR devices, gyro sensors, etc.).
Web-Based Interfaces
In an ideal world, the selection of the best interaction mode should be
tightly connected with the 3D content handled and with the publishing
purpose. In a Web3D system, however, it should also be tailored to
the characteristics of the web, possibly adopting techniques that are
optimal for the hypertext-based web interface.
From a research point of view, and focusing on the more recent
years, Jankowski has probably been the most active in trying to bring
together hypertext technology and interactive 3D graphics. He aimed at
clarifying some of the foundations of 3D web user interface design [83],
focusing on an understanding of the fundamental tasks users may be
engaged in while interacting with web-based 3D virtual environments,
and then introducing his interface management approach. His work
proposes a dual-mode user interface [84, 85] that follows the usual
hypertext-based interaction mode, with the 3D scene embedded in the
The version of record is available at: http://dx.doi.org/10.1561/0600000083
Figure 5.4: The Potree [164] basic viewer showing a running example of a 2D
minimap (in the top left corner of the image). This additional interface element
is useful to georeference the 3D model, but also to provide visual feedback of the
camera (represented by the triangle shape in the map) position and orientation in the
virtual space. Minimap elements refresh their position every time the user interacts
with the 3D scene.
Figure 5.5: Smithsonian X3D [173] is an example of a 3D web viewer using the
ViewCube interface component (in this case presented at the top right corner of
the 3D rendering window). The 3D cube widget rotates synchronously with the
3D model; it has the primary purpose of providing the user with feedback on the
orientation of the 3D scene. The component can also be used to directly drive the
scene interactions (by rotating the 3D cube, the user applies a corresponding rotation
to the 3D scene).
The version of record is available at: http://dx.doi.org/10.1561/0600000083
Figure 5.6: Multimedia integration via an annotation system in the Cl3ver solution
[82]. In this example, clicking on the circular 2D graphical placeholder anchored
to a specific 3D point in the scene space (left) presents the user with additional
information in screen space as a superimposed HTML element (right).
Figure 5.7: Collaborative DCC implementation in the Lagoa [45] Web3D system.
This cloud-based solution aimed at CAD design guaranteed performant real-time
multi-user synchronized scene editing.
more technical and specialized cases, the ratio between presentation and
creation support is inverted. In these latter solutions the web viewer has
the primary purpose of supporting the content creation process, whose
final result may not even be public online publication (as in the case of
the MeshLabJS [200] editing platform). Such systems are often aimed
at technical users and usually provide support for collaborative DCC. A
good example of one of these was the Lagoa platform [45], a cloud-based
system for online CAD design, shown in Figure 5.7; the company was
recently acquired by Autodesk to help in the development of its own,
similar, product, Fusion 360 [13]. Of course, between these two extremes
there exists a full set of hybrid systems in which the proportion of the
ingredients is more balanced. This group includes solutions focused
on web visualization, but at the same time able to provide technical
features for assisting digital content creation, for instance supporting
modeling and animation—the already introduced Clara.io platform [58]
being a representative example.
An additional categorization of modern Web3D software may be
driven by their specialization. Nowadays these systems are more and
more designed to satisfy specific needs, or to focus on particular goals,
than following the idea of general-purpose visualization. This can lead
The version of record is available at: http://dx.doi.org/10.1561/0600000083
systems. As for any other software product, the usage terms and costs
are important characterizing factors.
For example, the choice between a client-based and a server-based
platform can influence the costs of a specific solution. As we have seen in
Section 5.1, the need for server-based capabilities (storage, computation,
user management, database support) for some of the existing solutions
often leads to non-trivial expenses (for content creators interested in
self-publishing), or to the payment of a subscription (for end users of
commercial services). From the point of view of users, current trends
are generally toward combinations of basic services for free (with some
usage restrictions) and more specialized features that become optional
and fee-based (with fewer or no restrictions). The PlayCanvas system
[54] is just one of many adopting this policy.
Some online platforms are offered free of charge, even if they require
high maintenance costs, because they are used as a “beachhead” to
promote ancillary products or other paid services. As an example, this
is the case for Thingiverse [172], created and maintained by a 3D printer
manufacturer to provide its users with usable content, thus promoting
the sales of 3D printers, or ReMake [14], created and maintained by
Autodesk as a way to introduce their software to possible clients.
Fortunately, thanks to its wide landscape, the Web3D field has
solutions offering all the different possibilities, with open-source [e.g.
CopperLicht: 8], freemium [e.g. Sketchfab: 171], or commercial [e.g.
Cl3ver: 82] solutions, and licenses like Apache [e.g. BabylonJS: 34], MIT
[e.g. A-Frame: 130], or GPL [e.g. Blend4Web: 186].
The version of record is available at: http://dx.doi.org/10.1561/0600000083
6
Discussion
6.1 Classification
62
The version of record is available at: http://dx.doi.org/10.1561/0600000083
6.1. Classification 63
64 Discussion
Table 6.1: Web3D characterizing features mapped onto the various publishing
approaches. The solutions are classified according to a representative selection of the
criteria given in the bulleted list in Section 4.2. The software systems and features
are grouped as in Figures 4.2 and 4.4, respectively, to provide a quick overview of
the methodologies and options available to a content creator. Each cell shows the
amount of support given by a group of systems to each feature level, expressed as
a range between “none” and “full.” The elements are sorted by supported features
in order to show potential trends. The gray cells represent the overall behavior of
standalone end products (full GUI applications mainly working locally, characterized
by access and customization features similar to low-/middle-level approaches).
Tool,
Lib, Lib++ Toolkit, App
Framework
Representation types/schemes
Data
Pre-processing possibilities
Animation possibilities
Interaction
Hyperlink-based schemes
Authoring elements
Publication
66 Discussion
application, we also want to define the full set of features that content
creators could have at hand while creating specialized 3D web content.
We notice that for some of these fields the solutions all tend to be of
the same type, while other fields present more heterogeneous sets of
solutions.
Cultural Heritage
Cultural heritage (CH) applications, and related solutions, are mainly
related to the publication of content (with some degree of personal-
ization). Usually the 3D data involved in this kind of publishing are
high-resolution 3D models coming from real-world acquisitions (digi-
tized with photogrammetry/structure from motion approaches or active
scanning devices). Handling these datasets online (large size, huge com-
plexity) requires the adoption of multi-resolution representations and
performant data transfer formats, so a pre-processing phase is usually
needed. Since the 3D models to be published often represent copyrighted
objects, IPR protection and infrastructure security are relevant in CH
systems that offer cloud services. Other central elements concern the
possibility to integrate informative content into the 3D layer, and to
support innovative I/O devices (these two aspects are of fundamental
importance when building virtual museums). Camera animations can
also be really useful, while model animations are not a strict require-
ment. Effective interactive 3D scene inspection and navigation are both
mandatory features (for architecture and artwork 3D models). Con-
versely, scene customization and editing tools are not so important, due
to the need to convey the proper message and to pursue high fidelity in
the visualization; they can also be dangerous since they could produce
model appearance modifications.
Cultural heritage is characterized by a heterogeneous set of applica-
tion cases and requirements, and by a low economic value since most of
the applications are implemented on a low budget. As an application
field that does not attract much interest from commercial companies,
there are few ready-to-use tools specifically designed for this domain. For
this reason, the CH community very often has to use tools developed for
other purposes and domains, such as games or animation—immediate
The version of record is available at: http://dx.doi.org/10.1561/0600000083
examples are Unity3D [191] and Unreal Engine [55]. This does not pre-
vent some systems not specifically designed for CH, such as Sketchfab
[171] or Autodesk ReMake [14], actually fitting the CH application
needs quite well (to the point where Sketchfab now has a dedicated
section to support web publishing by cultural institutions). Also, aca-
demic solutions that do not explicitly refer to CH, like Potree [164] and
the Visual Media Service [201], are extensively used to publish CH 3D
models. However, ad hoc CH-oriented solutions have been proposed,
too. Mostly initiated by cultural or academic institutions, they may be
either “black box” systems of restricted use, like the 3D viewers of the
Petrie Museum [192] or the Smithsonian [173], or open solutions freely
available and accessible on the web, like the 3DHOP framework [199].
Biomedical
Biomedical applications are typically focused on visualization, enabling
the rendering of particle systems (by ray-casting) and volumes (by
ray-marching). This could direct the choice of the appropriate pub-
lishing platform to systems capable of handling these datasets on the
web (even if, as we have seen, triangle-based techniques could also
be exploited). Due to the technical nature of these publications, the
presence of specialized analytical tools (enabling visual and numerical
data analysis, such as unit cell operations, computation of distances and
angles, torsion angle measurements, etc.) plays a key role, as well as
the possibility to use interaction paradigms tailored to inspecting this
specific 3D content. For the same reason Web3D solutions providing
interactive (or collaborative) annotation systems may be preferable.
Finally, animation features are also extremely useful in biomedical
presentations, particularly for didactic and dissemination purposes.
Among the systems presented so far, besides the more research-
oriented proposals like X3DMMS [215] and MEDX3DOM [42], it is
worth mentioning a couple of open-source projects like X Toolkit [212]—
a framework for visualizing and interacting with medical imaging data,
it provides a simple API offering native support for neuroimaging file
formats—and JSmol [90], a molecular viewer for chemical structures in
3D with features for molecules, crystals, materials, and biomolecules.
The version of record is available at: http://dx.doi.org/10.1561/0600000083
68 Discussion
CAD
Computer-aided design solutions span a wide space, from simple to
professional systems, mainly depending on the complexity of the op-
erations and task required. The Web3D publishing solutions reflect
this. Models exploited in this application field are 3D meshes, usually
characterized by relative structural simplicity (in terms of the number
of triangles/faces), since they are generated (and serve) in design and
modeling processes. For this reason, and mostly to ensure coherence in
the geometric editing, they generally rely on single-resolution formats.
A central feature of this kind of application is certainly the support
for DCC, both in specialized tools (kinematic assembly, geometric con-
straints, distances, angle offsets, etc.) and higher-level features like
collaborative editing and version control. For more technical uses (for
instance in industrial pipelines for photorealistic publication) it is fun-
damental to also be able to steer the 3D object/scene appearance editing
(shaders, materials, lighting, etc.), as well as providing access to the
proper authoring tools able to drive these specialized operations.
The landscape of solutions addressing CAD includes systems ranging
from those targeted at unskilled users [e.g. Autodesk Tinkercad: 12] to
those intended for professionals [e.g. Lagoa: 45]. Some of the proposed
approaches are oriented more toward editing/modeling, like Autodesk
ReMake [14], while others are more focused on the publishing stage, e.g.
Koru [27]. Commercial solutions, like ThreeKit [78], and free software,
like OpenJSCAD.org [134], a JavaScript web interface for programmatic
modeling, are both provided.
3D Printing
Web applications for 3D printing are, generally, easy-to-use platforms,
where the aim of publication is mostly focused on supporting user-
uploaded sharing (or selling) of printable content. These systems, mostly
implemented as services, provide hosting services and a number of
related high-level features like IPR management strategies, user profiling,
and community-oriented tools. Since printable objects must be a single
simple item, Web3D printing solutions often require bare-bones viewers
aimed at pure visualization of a fixed-resolution model.
The version of record is available at: http://dx.doi.org/10.1561/0600000083
70 Discussion
Games
Web3D solutions aimed at game development are generally systems
able to handle elaborate 3D scenes made of a large number of modeled
geometries. For that reason they often provide features focused on
complex scene composition (hierarchical geometry instancing). Particular
emphasis is placed on components for customizing scene appearance
(rendering/shading processes), animation (both camera and model),
and exploration (mainly virtual environment navigation). Of course,
building a game experience also plays a central role, requiring access to
specialized features like physics, networking, and audio control.
Several solutions can be exploited or adapted to Web3D game
development. Almost all the approach typologies are available, from low-
level engines like PhiloGL [17] or KickJS [140] to GUI-based applications
The version of record is available at: http://dx.doi.org/10.1561/0600000083
like Goo Create [64] or CopperLicht [8], and from more general systems
like BabylonJS [34] or Blend4Web [186] to highly specialized software
like PlayCanvas [54] or LayaAir [39]. Even if in this specific field the most
popular solutions remain systems not specifically designed for Web3D,
like Unity3D [191] or the Unreal Engine [55]—both are just equipped
with a WebGL exporter—it is easy to find web-targeted applications like,
for instance, Turbulenz [187], a modular 2D/3D framework focused on
HTML5 game development for desktops and mobile devices, or Voxel.js
[203], a game-building toolkit that makes it easier to create 3D voxel
Minecraft-style games.
The version of record is available at: http://dx.doi.org/10.1561/0600000083
7
Conclusions
72
The version of record is available at: http://dx.doi.org/10.1561/0600000083
74 Conclusions
Acknowledgments
The research leading to these results has been partially supported by the
European Union H2020 Programme under grant agreement no. 654119
(EC “PARTHENOS” project), and by the International Bilateral Joint
Lab CNR–CNRS (“Mass3DxCH,” 2017–2019).
75
The version of record is available at: http://dx.doi.org/10.1561/0600000083
References
76
The version of record is available at: http://dx.doi.org/10.1561/0600000083
References 77
78 References
References 79
80 References
References 81
82 References
References 83
84 References
References 85
86 References
References 87
88 References
[167] D. Seo, B. Yoo, J. Choi, and H. Ko. Webizing 3D contents for super
multiview autostereoscopic displays with varying display profiles. In
Proceedings of the 21st International Conference on Web3D Technology,
Web3D ’16, pages 155–163, New York, NY, USA, 2016. ACM.
[168] Shapeways. Shapeways, 2013. https://www.shapeways.com.
[169] S. Shi and C. Hsu. A survey of interactive remote rendering systems.
ACM Computing Surveys, 47(4):57:1–57:29, 2015.
[170] K. Shoemake. Arcball: A user interface for specifying three-dimensional
orientation using a mouse. In Proceedings of the Conference on Graphics
Interface ’92, pages 151–156, San Francisco, CA, USA, 1992. Morgan
Kaufmann Publishers Inc.
[171] Sketchfab. Sketchfab, 2014. https://sketchfab.com.
[172] Z. Smith and B. Pettis. Thingiverse, 2011. https://www.thingiverse.com.
[173] Smithsonian Institution. Smithsonian X3D, 2011. http://3d.si.edu.
[174] Y. Song, W. Wei, L. Deng, P. Du, Y. Zhang, and D. Nie. 3D-CollaDesign:
A real-time collaborative system for web 3D design. In Proceedings of the
19th IEEE International Conference on Computer Supported Cooperative
Work in design, pages 407–412, New York, NY, USA, 2015. IEEE.
[175] K. Sons, F. Klein, D. Rubinstein, S. Byelozyorov, and P. Slusallek.
XML3D: Interactive 3D graphics for the web. In Proceedings of the
15th International Conference on Web 3D Technology, Web3D ’10, pages
175–184, New York, NY, USA, 2010. ACM.
[176] K. Sons, C. Schlinkmann, F. Klein, D. Rubinstein, and P. Slusallek.
XML3D.js: Architecture of a polyfill implementation of XML3D. In Pro-
ceedings of the 6th Workshop on Software Engineering and Architectures
for Realtime Interactive Systems (SEARIS), pages 17–24, 2013.
[177] Stackgl. Stackgl, 2015. https://github.com/stackgl/stackgl.github.io.
[178] J. A. Stewart. FreeWRL, 1998. http://freewrl.sourceforge.net.
[179] P. S. Strauss and R. Carey. An object-oriented 3D graphics toolkit. In
Proceedings of the 19th Annual Conference on Computer Graphics and
Interactive Techniques, SIGGRAPH ’92, pages 341–349, New York, NY,
USA, 1992. ACM.
[180] P. S. Strauss, P. Issacs, and J. Shrag. The design and implementation
of direct manipulation in 3D: SIGGRAPH 2002 course notes. 2002.
[181] Sun Microsystems. JAVA3D – The Java 3D API, 1998. http://www.
oracle.com/technetwork/articles/javase/index-jsp-138252.html.
The version of record is available at: http://dx.doi.org/10.1561/0600000083
References 89
90 References
[201] Visual Computing Lab. ARIADNE – Visual Media Service, 2015. https:
//ariadne1.isti.cnr.it.
[202] Vizor. Patches, 2014. https://patches.vizor.io.
[203] Voxel.js. Voxel.js, 2013. http://voxeljs.com.
[204] K. Walczak, W. Cellary, and M. White. Virtual museum exhibitions.
IEEE Computer, 39:93–95, 2006.
[205] E. Wallace. LightGL – A lightweight WebGL library, 2011. https:
//github.com/evanw/lightgl.js.
[206] C. Ware and S. Osborne. Exploration and virtual camera control in
virtual three-dimensional environments. In Proceedings of the 1990
Symposium on Interactive 3D Graphics, I3D ’90, pages 175–183, New
York, NY, USA, 1990. ACM.
[207] Web3D Consortium. What is X3D graphics?, 2004. http://www.web3d.
org/what-x3d-graphics.
[208] J. Wilhelmy. Inka3D, 2011. http://www.inka3d.com.
[209] C. A. Wingrave, B. Williamson, P. Varcholik, J. Rose, A. Miller, E. Char-
bonneau, J. N. Bott, and J. J. LaViola. The Wiimote and beyond:
Spatially convenient devices for 3D user interfaces. IEEE Computer
Graphics and Applications, 30(2):71–85, 2010.
[210] S. Wittens. MathBox, 2012. https://gitgud.io/unconed/mathbox.
[211] R. Wojciechowski, K. Walczak, M. White, and W. Cellary. Building
virtual and augmented reality museum exhibitions. In Proceedings of
the Ninth International Conference on 3D Web Technology, Web3D ’04,
pages 135–144, New York, NY, USA, 2004. ACM.
[212] XTK Developers. X Toolkit API, 2012. https://github.com/xtk.
[213] S. Zafeiriou, A. Tefas, and I. Pitas. Blind robust watermarking schemes
for copyright protection of 3D mesh objects. IEEE Transactions on
Visualization and Computer Graphics, 11(5):596–607, 2005.
[214] A. Zipf. OSM-3D, 2010. http://www.osm-3d.org.
[215] F. Zollo, L. Caprini, O. Gervasi, and A. Costantini. X3DMMS: An
X3DOM tool for molecular and material sciences. In Proceedings of the
16th International Conference on 3D Web Technology, Web3D ’11, pages
129–136, New York, NY, USA, 2011. ACM.
[216] P. Zuspan, J. Finkelstein, and M. Finkelstein. Kokowa, 2015. https:
//www.kokowa.co.