can be loaded much faster, and even in parallel, as we
can exploit the browser’s capability to download sev-
eral patches of the mesh at a time. In contrast to other
web-based formats like X3D, the data can directly be
transferred “as is” to the GPU, without any further
CPU-based processing inside the client’s JavaScript
layer. While our vertex data format is more compact
than previous ones, the client’s GPU memory must
still be able to hold all data that is currently rendered.
Otherwise, constant paging of data packages totally
breaks performance. Luckily, for typical large mod-
els like this car, it mostly makes no sense to display
all its components simultaneously: e.g. one will ei-
ther display the car’s body or the interior of the motor
compartment, but never both at the same time.
The identification of one out of up to 64K ob-
jects during picking is made possible through our im-
proved single-pass picking buffer algorithm, provid-
ing 16 bits of precision for picked vertex attributes.
All proposed model processing, rendering, and inter-
action methods have been integrated into the open-
source framework X3DOM (Behr et al., 2010; Behr
et al., 2012) and the publicly available Mixed Reality
framework instantReality (FhG, 2012).
6 CONCLUSIONS
Within this paper, we have discussed some important
aspects of our approach towards fast and precise vi-
sualization of – and interaction with – 3D model data
inside a Web Browser. Our methods are straightfor-
ward to implement, easy to use, and enable visual-
izations of various kinds of input data, ranging from
scientific visualization to highly complex CAD mod-
els.
For the future, we would like to investigate the
possibility of using a progressive loading mechanism
that does not introduce too much CPU processing
overhead on the client side. This could lead to a sig-
nificantly improved user experience. Visualizing ex-
tremely large models with many millions of polygons
also requires more sophisticated techniques for out-
of-core rendering. The integration of such methods
into browser-based visualizations, especially on mo-
bile devices, is thus another interesting challenge.
REFERENCES
Apple (2011). OpenGL ES Programming Guide for iOS.
Ch. Best Practices for Working with Vertex Data,
pages 65–77.
Behr, J., Jung, Y., Franke, T., and Sturm, T. (2012). Using
images and explicit binary container for efficient and
incremental delivery of declarative 3d scenes on the
web. In Web3D 2012, pages 17–25, New York, USA.
ACM Press.
Behr, J., Jung, Y., Keil, J., Drevensek, T., Eschler, P.,
Z
¨
ollner, M., and Fellner, D. (2010). A scalable ar-
chitecture for the HTML5/ X3D integration model
X3DOM. In Web3D 2010, pages 185–193, New York,
U.S.A. ACM.
Blume, A., Chun, W., Kogan, D., Kokkevis, V., Weber,
N., Petterson, R. W., and Zeiger, R. (2011). Google
body: 3d human anatomy in the browser. In ACM
SIGGRAPH 2011 Talks, page 19, New York, USA.
Bruderlin, B., Heyer, M., and Pfutzner, S. (2007). Inter-
views3d: A platform for interactive handling of mas-
sive data sets. Computer Graphics and Applications,
IEEE, 27(6):48 –59.
B
¨
urger, R. and Hauser, H. (2007). Visualization of multi-
variate scientific data. In Eurographics 2007 State of
the Art Reports, pages 117–134.
Cignoni, P., Ganovelli, F., Gobbetti, E., Marton, F., Pon-
chio, F., and Scopigno, R. (2004). Adaptive tetra-
puzzles: efficient out-of-core construction and visual-
ization of gigantic multiresolution polygonal models.
In ACM SIGGRAPH 2004 Papers, SIGGRAPH ’04,
pages 796–803, New York, NY, USA. ACM.
Elmqvist, N. and Fekete, J.-D. (2008). Semantic pointing
for object picking in complex 3d environments. In
Proc. Graphics Interface 2008, pages 243–250.
FhG (2012). Instant Reality. www.instantreality.org.
Forsyth, T. (2006). Linear-speed vertex cache optimisation.
http://home.comcast.net/
˜
tom forsyth/papers/fast vert
cache opt.html/.
Hoppe, H. (1998). Efficient implementation of progressive
meshes. Computers & Graphics, 22:27–36.
Maglo, A., Courbet, C., Alliez, P., and Hudelot, C.
(2012). Progressive compression of manifold polygon
meshes. Computers & Graphics, 36(5):349–359.
Marrin, C. (2012). WebGL specification.
https://www.khronos.org/registry/webgl/specs/latest/.
McReynolds, T. and Blythe, D. (2005). Advanced Graphics
Programming Using OpenGL. Morgan Kaufmann.
Poupyrev, I., Weghorst, S., Billinghurst, M., and Ichikawa,
T. (1998). Egocentric object manipulation in vir-
tual environments: Empirical evaluation of interaction
techniques.
Sons, K., Klein, F., Rubinstein, D., Byelozyorov, S., and
Slusallek, P. (2010). Xml3d: interactive 3d graphics
for the web. In Web3D 2010, pages 175–184, New
York, NY, USA. ACM.
Strzodka, R. (2002). Virtual 16 bit precise operations on
rgba8 textures. In VMV 2002, pages 171–178. Aka.
W3C Community Group (2012). Declara-
tive 3D for the Web Architecture. http://
www.w3.org/community/declarative3d/.
Wald, I. and Havran, V. (2006). On building fast kd-trees for
ray tracing, and on doing that in o(n log n). In Proc.
IEEE Symp. Interactive Ray Tracing, pages 61–70.
Web3D Consortium (2011). Extensible 3d (X3D).
http://www.web3d.org/x3d/specifications/.
IVAPP2013-InternationalConferenceonInformationVisualizationTheoryandApplications
606