Virtual Reality Movies Real-Time Streaming of 3D Objects

TERENA-NORDUnet Networking Conference (TNNC) 1999 1 Virtual Reality Movies – Real-Time Streaming of 3D Objects S. Olbrich, H. Pralle Institute for C...
Author: Samuel Banks
0 downloads 2 Views 423KB Size
TERENA-NORDUnet Networking Conference (TNNC) 1999


Virtual Reality Movies – Real-Time Streaming of 3D Objects S. Olbrich, H. Pralle Institute for Computer Networks and Distributed Systems (RVS), Regional Scientific Computing Center for Lower Saxony (RRZN) University of Hanover Schlosswender Str. 5, D-30159 Hannover, Germany Tel.: +49 511 762 3078, Fax: +49 511 762 3003 Email: [email protected] Abstract Powerful servers for computation and storage, high-speed networking resources, and high-performance 3D graphics workstation, which are typically available in scientific research environments, potentially allow the development and productive application of advanced distributed high-quality multimedia concepts. Several bottlenecks, often caused by inefficient design and software implementation of current systems, prevent utilization of the offered performance of existing hardware and networking resources. We present a system architecture, which supports streamed online presentation of series of 3D objects. In the case of expensive simulations on a supercomputer, results are increasingly represented as 3D geometry to support immersive exploration, presentation, and collaboration techniques. Accurate representation and high-quality display are fundamental requirements to avoid misinterpretation of the data. Our system consists of the following parts: a preprocessor to create a special 3D representation – optimized under transmission and streamed presentation issues in a high-performance working environment, an efficiently implemented streaming server, and a client. The client was implemented as a web browser plugin, integrating a viewer with high-quality virtual reality presentation (stereoscopic displays), interaction (tracking devices), and hyperlinking capabilities. Keywords Virtual Reality, VRML, Scientific Visualization, Streaming, Browser, Plugin.



Scientific and industrial research environments increasingly provide powerful operating platforms, such as high-speed networks, high-performance server and client systems, and high-quality 3D graphics systems. These are potentially meeting the requirements of high quality applications in typical visualization scenarios, where complex 3D objects – for example results of a simulation – have to be handled interactively.

© 1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999


Available client-server systems for distributed online presentation of virtual 3D scenes in the WWW are based on Internet standards, such as TCP/IP, URL [5], HTTP [13], MIME [14], HTML [4], and VRML (Virtual Reality Modeling Language) Version 1.0 [3] or VRML97 [22]. They reveal several constraints regarding performance, quality, and functionality aspects which often prohibit useful application. This is in contrast to specific virtual reality systems, which demonstrate the performance potential, but are essentially designed as stand-alone systems. Using VRML viewers, high latency, low navigation frame rates, little support of high-quality virtual reality presentation and interaction techniques have been observed, which is caused by inefficient representation, transport, and presentation protocol design and implementation. While delays between user-requested changes of static scenes already prevent interactive production, real-time streaming of sequences of scenes is obviously in general left out of consideration. But such a mechanism is required for exploration of three-dimensional, time-dependent phenomena, utilizing virtual-reality techniques in order to get Virtual Reality Movies, freely to navigate with on-the-fly presentation.



Interactive viewing of 3D models was originally considered in the context of specialized „Virtual Reality Systems“, consisting of a local storage system, a high-performance 3D rendering engine, stereoscopic displays, and 3D interaction devices. After the – often time-consuming – startup phase, loading the often proprietary file formats for the model data and behaviour in such a stand-alone system, all manipulation is based on the memory-based representation. When Internet-based, hyper-linked multimedia documents became generally available and useful applicable in science and industry, integration and standardization of 3D scene descriptions in the World Wide Web were required. In 1994, after presentation of a 3D user interface for the Internet [37], public discussion – based on an e-mail list – was started. The Open Inventor (Silicon Graphics) file format [51] was then choosen as a foundation of the first specification of a Virtual Reality Modeling Language (VRML 1.0) [3]. A revised version, including dynamic elements, was standardized by collaboration of the Internet community and ISO (VRML97) [22]. Further development concerns, amoung other aspects, compressed binary coding [23]. A framework and representation of multimedia documents including 3D scenes is also provided by MPEG-4, specifying a binary representation of interactive graphics and audio-visual scenes, known as BIFS (BInary Format for Scenes) [11][42]. Several methods for preparation of complex 3D surface models to reduce its complexity and data volume are known. They can be classified as:

© 1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999


• Mesh decimation, smoothing [25][26][39][40][40] and multiresolution modeling [9][24][27], • Topology-oriented geometric compression [16][44][46][47] and progressive coding [12][15][45], • Primitive-packing, such as „Triangle stripping“. Techniques of the first two classes on principle introduce deviations in the representation, which should generally be avoided for scientific data visualization applications in order to maintain accurate exploration of results of expensive simulations on supercomputers. Besides of that, reconstruction from the compressed code can be a very time-consuming process – e. g.: ca. 35,000 triangles per second in [46]; 800,000 triangles per second in [16], and therefore introduce a significant bottleneck in powerful networking and rendering environments. Triangle stripping is a useful technique not only to reduce the data volume (3:1 for large connected meshes), but also to optimize the rendering process (see figure 1 and figure 4). N independant triangles

N connected triangles (triangle strip)

Volume: N * 3 * per_vertex_data,

Volume: (N+2) * per_vertex_data

3D coordinates and normals: N * 72 byte

3D coordinates and normals: (N+2) * 24 byte

Per vertex data: 3D coordinates: 3 float values = 3 * 4 bytes / vertex Normal vectors: 3 float values = 3 * 4 bytes / vertex Colors: 4 byte values (RGBA) = 4 bytes / vertex

Figure 1 Complexity of typical rendering primitives: Independant triangles versus connected mesh Besides VRML97 viewers, such as CosmoPlayer (now „PlatinumPlayer“, announced as open source [35]) and VRwave [1], several other 3D viewers have been implemented: first integrating 3D presentation in the WWW at all (CLRMosaic, Web OOGL), then particularly considering efficient display (e. g. i3D [2]) or prototyping new concepts. An approach for embedding complex 3D objects in digital documents is presented in [9], resulting in a hierarchical mesh reduction technique with progressive transmission and display capabilities, available as an ActiveX control for Microsoft Windows and a web-browser helper application for Unix.

© 1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999


Streaming concepts are discussed in the context of transmission and on-the-fly presentation and control of video and audio media, separately presented or integrated in 3D worlds (VRML97 only supports video or audio objects as complete files), as a method to incrementally update minor changes in virtual scenes [17], or transmission and adaptive presentation of progressive multi-level meshes of static scenes [15]. Concepts for sharing distributed virtual environments are investigated in [6][7]. The connection of scientific data visualization and immersive virtual reality techniques is discussed in [8][10][18][19]. Representation, communication, and presentation aspects in conjunction with online presentation of 3D objects are discussed in [33], resulting in an efficient concept for interactive handling preprocessed VRML-1.0-based complex static models, utilizing the capacity of high-performance networking, computing, and 3D graphics environment. Simulation Simulation results e.g. temperature

Postprocessing Symbolic representation e.g. isosurface

VR System Multimedia representation

Navigation, Interaction, Steering

e.g. 3D geometry





Figure 2 Virtual Reality Environment for Scientific Visualization



We mainly focus on the visualization of scientific results for exploration and presentation purposes. Large multi-dimensional datasets from measurements or high-performance computations are characteristic for this field of application. This raw data (e. g. scalar or vector fields) have to be filtered to symbolic (e. g. isosurfaces, streamlines) and mapped to three-dimensional geometric (e. g. triangles, lines) representa-

© 1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999


tions, which are then rendered on a two-dimensional raster display. Immersive virtual reality environments, as illustrated in figure 2, will increasingly provide powerful means to support virtual laboratories, which take advantage of multi-sensor, intuitive user interfaces. In the following, we consider the distributed presentation of sequences of complex 3D objects at the geometric level of abstraction. This enables virtual reality techniques, such as stereoscopic projection and 3D navigation. Table 1 Classification of requirements. standards (examples) Presentation



Performance • Short latency – Startup – Navigation • High framerates – Transform rate – Fill rate – Usage of efficient primitives

• Optimized implementation

• Client-side effort – Decode – Decompress – Parse – Building scene graph – Calculation of normal vectors • Data volume


• Quality of Service – High bitrates – Short latency – Low jitter – Low error rate

• Resolution – Time – Geometry – Normals – Color, Texture • Compression – Lossless! • Color profiles support – sRGB default

• Resolution – Pixels – Intensity – Color • Antialiasing • Color Management – Configurable destination ICC profile

Functionality • Progressive rendering • Stereoscopic viewing • Navigational comfort – Tracking – 3D input devices • Multiplatform support – MS Windows – UNIX

• Needed attributes for • Streaming, e. g. Virtual Reality – control: RTSP – media data: HTTP presentation – Focal distance • Synchronization • Sequences of – intrastream 3D objects: – interstream „Virtual Reality Movie“ • Media-specific scaling – frame rate – resolution – level of detail


• Networks – LAN, WAN – Ethernet, ATM • Protocols – IP, TCP, RTSP • Services – HTTP

• Generic WWWBrowser – Netscape – Plugin Interface • APIs – 3D Graphics – GUI

© 1999, RRZN/RVS University of Hanover

• WWW Server • Dynamic content – CGI • Caching, Proxy techniques • Multimedia, 3D/VR data formats

TERENA-NORDUnet Networking Conference (TNNC) 1999


Partitioning at a higher level would support more interaction, such as the choice of filtering and mapping methods and parameters. But for the interesting grand-challenge problems – such as exploration of large-scale unsteady fluid flows – these steps could not be offered at interactive rates, since the data volume or computation efforts are often prohibitive [28]. The online-presentation of series of these prepared 3D objects has to avoid bottlenecks, which could prevent efficient and accurate exploration. An overview of the requirements is given in table 1, where we classify the aspects which influence performance, quality, and functionality and attach them to the representation, communication and presentation instances of the processing pipeline.



After identification of the bottlenecks and studying feasibility of the given application scenario requirements using state-of-the art equipment, we have designed and implemented an optimized viewer architecture. It consists of three components, which are discussed in the next sections: • Preprocessor: VRML to DVR, a new 3D file format; • DVR streaming server, based on Real-Time Streaming Protocol (RTSP); • New Viewer: Netscape plugin, called DocShow-VR. By using this software in a high-performance networking and graphics environment, sequences of high-quality 3D scenes can be played out, interactively navigatable while viewing smooth 3D animations.The operating sequence is characterized by the following steps (numbers corresponding to figure 3): 1. The web client reads a DVRS object (MIME type: application/x-docshow-vrs, extension: .dvrs) via HTTP, which was possibly requested by an EMBED tag in an HTML page. 2. After the appropriate DVRS plugin „DocShow-VR“ (see section 4.3) is loaded by the web browser, it establishes a connection to the 3D streaming server (DVRS, see section 4.2), based on the reference information (IP address, port number) and attributes (frame rate, etc.) contained in the DVRS data. 3. The 3D streaming server reads 3D objects from files in DVR format (see section 4.1) and delivers them to the client, interleaved by additional delimiting PDUs. 4. After reading the first 3D object, the client executes some further actions: – Reading DVR data: Transfer from the streaming connection into a 3D object memory buffer. – Rendering: Transformation of the 3D objects, based on the current virtual camera position, orientation, and view angle, to the display device. – VR Navigation: Modification of the virtual camera parameters, according to the input device control.

© 1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999


– RTSP, VCR Metaphor: Control handling, e. g. instruct the server to stop, to play-out from a new position with a modified frame rate, or to deliver an alternate data set (in case of existing multiple levels of detail on the server). The binaries, the web-based VRML-to-DVR converter service, and several application examples are publicly available:

Dynamic scene generation (planned)

Preparation of 3D objects

DVRS meta file 1


DVR scene files

Application examples: - Preprocessing VRML to DVR - Simulation and visualization, creating DVR directly

DVRS: Meta data, DVR: 3D geometry SCSI, Fibre Channel


DVRS Streaming Server Streaming Server

WWW Server Streaming Server TP







DVR Browser, Plugin

Network: - Ethernet, ATM - TCP/IP Communication: - Netscape Plugin Callbacks - Socket API 3D Rendering: - OpenGL



Input Devices


e.g. SpaceMouse, Tracking systems

e.g. Monitor, Stereo projection

Figure 3 3D streaming system

4.1 Preprocessor: VRML to DVR, a new 3D file format In order to avoid the overhead of calculations that are usually done by the viewer software in typical WWW-integrated applications, the 3D scene descriptions are preprocessed. Compute-intensive processes, such as • • • • •

decompressing, converting from ASCII to binary representation, building a scene graph, calculation of normal vectors, packing optimized display lists – such as triangle strips (as described in section 2, see also figure 4),

© 1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999


are now executed as a preparation step, resulting in a new 3D file format called „DVR“. The DVR files are then placed on a web server (MIME type: application/x-docshow-vr, extension: .dvr) or our DVR streaming server (see section 4.2). This partitioning approach could be thought as splitting a conventional scene graph based virtual reality API – such as Iris Performer, Open Inventor, or Optimizer – at a usually hidden level, where structures of optimized rendering primitives are built in memory, in order to take advantage of adequately optimized rendering routines, which are also provided within this API in a capsulated manner. Since the standardized 3D file format in the Internet is VRML (Virtual Reality Modeling Language) [3][22], we have developed tools to provide efficient and comfortable conversion from VRML to DVR. This supports processing of existing 3D scenes, which could possibly be first converted to VRML by other available tools [50] and then to DVR by our tool. VRML output of 3D modeling tools, such as 3D Studio, and visualization systems, such as AVS (with the public domain module „write VRML“) [48], AVS/Express, Ensight and VTK [39], has been successfully prepared in this way. Besides that, a class library was implemented to support direct DVR data generation, which is intended to be integrated into VTK. The preprocessor accepts static 3D scene descriptions in the ASCII formats VRML 1.0 or VRML97 and converts them into an own binary representation (IEEE format, network byte ordering) of the restructured, linearized scene graph to support efficient on-the-fly rendering of the data stream at the client side. The C++ implementation is based on the available VRML 1.0 parser library QvLib [43], an email message from Jan Hardenberg, consisting of fragments of an implementation of a rudimentary, OpenGL-based VRML-1.0 viewer [20], and the VRML 2.0 reader and scene graph classes of OpenInventor (TGS, Version 2.5). The current release is provided as a batch-oriented command-line tool for Microsoft Windows 95/98/NT and SGI Irix. It has also been integrated in an interative online conversion service via HTTP formbased upload [29]. We have also experimented with a transparent mechanism, using a caching proxy [33], based on a configurable http filter process webfilt [49].

4.2 DVR streaming server, based on RTSP Additional to a usual WWW server which delivers single DVR scenes or DVR streaming reference and control information (new format called DVRS), we need a dedicated 3D streaming server. We have implemented a prototype, applying the Real Time Streaming Protocol (RTSP, RFC 2326) [41] for this purpose. The DVR transport protocol (DVRP) is realized via a TCP-based transmission, simply using the native DVR files, interleaved with a new separator protocol data unit (PDU), which can be considered as an extension of the DVR file PDUs. An intra-stream synchronization is realized based on the server-side delivery times. Optionally the intended mean frame rate is maintained by occasionally omitting scene files.

© 1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999


4.3 New Viewer: Netscape plugin, called DocShow-VR To achieve short latency, streaming capabilities and support of embedded 3D scenes in HTML pages, we have implemented an optimized viewer as a plugin for Netscape browsers. As such, by using the Netscape Plugin API [31][32], it is tightly coupled to the data delivery to allow streamed, progressive display of single DVR scenes via HTTP or – after reading DVRS information – to connect to our 3D streaming server. After RTSP startup, 3D animations are displayed in real-time, overlapped with the streamed TCP-based DVR data transmission, where display (up to two graphics pipes) and transport are implemented in separate threads, which leads to a speed-up by parallelization of the communication and rendering processes. This RTSP-based streaming scenario is implemented only on SGI Irix by now. The renderer is efficiently implemented for UNIX (SGI Irix, Sun Solaris, HP/UX) and Win32 (Microsoft Windows 95/98/NT) platforms, based on OpenGL [30], the de-facto 3D graphics API standard, and utilizes platform-specific OpenGL extensions, such as vertex arrays (high-speed polygon rendering) or multisampling antialiasing (high-quality presentation). For UNIX platforms not providing an OpenGL runtime environment, plugin versions linked with the OpenGL emulation library Mesa [36] were created. Stereoscoping viewing is supported on several platforms (SGI: any Irix workstation; Sun: Elite 3D; Windows NT: Diamond FireGL 1000, HP Kayak XW), using the quad-buffer stereo mode in conjunction with shutter glasses or large screen stereo projection. Head tracking systems (Crystal Eyes CE-VR, Polhemus Fastrak, Intersense) have also been integrated, in order to get an immersive virtual reality system. Color management [21] support was integrated to increase reproduction quality of textures as scene components. The presentation of images in TIFF RGB and CMYK formats, originally based on Sam Leffler’s TIFF library, takes the eventually embedded ICC-conforming source profile as well as a monitor-specific ICC destination profile into account, and converts color space and gamut to match the intended colors. It was implemented on SGI Irix 6.5, Sun Solaris, and Microsoft Windows 98, by applying the available color management system (CMS) APIs Coloratura, KCMS and ICM 2.0, respectively (used CMS functions listed in table 2). On these platforms the plugin is also capable of viewing TIFF images (MIME type: image/tiff or image/x-tiff, extension: .tif) Support of collaborative work in performing bidirectional synchronization of the virtual camera between two clients is already implemented in the Unix version. In the future we would like to synchronize not only navigation in 3D space, but also implement 3D tele-pointers and annotations, and a synchronization of the time axis for at least two users in the streaming scenario.

© 1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999


Table 2 ICC-based Color managament functions on different platforms Microsoft Windows 98 ICM 2.0

SGI Irix 6.5 Coloratura

Sun Solaris KCMS




Open Profile




Close Profile




Get Tag Value




CreateMultiProfileCreate Color Transformation Transform



Transform Colors






We built a testbed for the evaluation of the described production process in a typical scientific data visualization application. The components are: 1. DVR dataset: • A simulation of an unsteady fluid flow phenomenon (oceanic convection [38]) on a supercomputer (Siemens/Fujitsu VPP 300) resulted in raw data of 740 timesteps, each consisting of temperature and velocity information at 161x161x31 grid points, stored as 32-bit float values. This dataset was postprocessed by an AVS/Express application into colored slicers, isosurfaces and arrows, stored as a sequence of 3D scenes in VRML 1.0 format by the module „OutputVRML“, and then converted to DVR by our „wrl1toDVR“ tool. • 740 DVR files, between 5,542,044 bytes and 9,309,468 bytes in size (whole DVR dataset: 5.3 Gbyte), each containing about 100,000 primitives (lines, polygons). An example of a rendered image is shown in figure 4 as case 2. 2. 3D streaming client-server configuration: • As a client system, where 3D rendering performance is a main issue, we used an SGI Onyx2 (rack system, 4 processors R10000/195 MHz, 2 Gbytes main memory, 9 Gbytes SCSI disk, Irix 6.5.4) with two Infinite Reality graphics subsystems (each with two 64 MB Raster Manager boards). • A 3D streaming server was also installed on this machine for development purposes and testing capabilities in a high-performance TCP/IP scenario (loopback communication). The DVR files were stored on a 140 Gbyte RAID system, connected via Fibre Channel.

© 1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999


• A separate 3D streaming server was implemented on an SGI Origin200 (R10000/225 MHz, 512 Mbytes main memory, 9 + 18 Gbyte SCSI disk, Irix 6.5.4). In this case the DVR files were stored on a 18 Gbyte SCSI disk. • A high-speed network between the Onyx2 and the Origin200 was realized by a back-to-back gigabit ethernet connection. As a performance optimization, jumbo frame support was enabled on both machines. We measured the throughput of the critical instances separately and the over-all performance of the processing pipeline. Then we justified read and write block sizes and socket buffer sizes in the implementation of our client and server software. In table 3 we present some characteric results. Table 3 Throughput measurement results (typical values in Mbit/s) of the scenario „Oceanic convection“ (frames 720–739) Client SGI Onyx2

Server 1 SGI Onyx2

Server 2 SGI Origin200

Read DVR files, one read block per file (second try: cached)

250–350 (980–1020)

109–110 (1090–1170)

TCP/IP transmission from server to client (ttcp -l1048576 -n100 -b262144)

790–950 (loopback)

560–670 (gigabit ethernet)








3D rendering (DocShow-VR): OpenGL immediate mode DocShow-VR maximal framerate client-server 4 frames / second streaming pipeline 2 frames / second

Interesting experiences in this scenario are: • The throughput in the distributed configuration is higher than in the case of executing client and server on the same machine. Reasons could be: – Lower CPU clock on the client machine (195 MHz versus 225 MHz), – Overhead introduced by running 3 processes simultanuously. • The sustained overall throughput is significantly slower than the rendering speed, which seemed to be the limiting factor. Possible reasons are: – Swapping latency caused by double-buffered display. Average time: 1/(2*frame_rate) (1/144 s for 72 Hz frame rate), – X11/Motif event processing at every frame, – Initialization of OpenGL rendering state at startup of every frame. In figure 4 we illustrate the rendering performance in typical application scenarios.

© 1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999


1. „DX-03“ (IBM Data Explorer result, part of the OpenGL benchmark viewperf [34], converted to VRML): 91,584 triangles with normals per vertex HP Kayak fx 6

SGI Onyx2 IR

Triangle strips: 2,252,744 bytes

15 ms 6.11 Mio./s 1.20 Gbit/s

21 ms 4.34 Mio./s 0.85 Gbit/s

Independant triangles: 6,601,928 bytes

46 ms 1.95 Mio./s 1.15 Gbit/s

53 ms 1.72 Mio./s 0.99 Gbit/s

2. „Oceanic convection, step nr. 492“ (AVS/Express result; Courtesy Institute for Meteorology, University of Hanover) 109,255 primitives HP Kayak fx 6

SGI Onyx2 IR

Triangle strips: 5,798,264 bytes

109 ms 1.00 Mio./s 0.43 Gbit/s

139 ms 0.79 Mio./s 0.33 Gbit/s

Independant triangles: 9,080,416 bytes

125 ms 0.87 Mio./s 0.58 Gbit/s

157 ms 0.70 Mio./s 0.46 Gbit/s

3. „Surface roughness measurement“ (AVS result; Courtesy Institute for Production Engineering and Machine Tools, Univ. of Hanover) 130,050 tri.; normals and colors per vertex HP Kayak fx 6

SGI Onyx2 IR

47 ms 2.77 Mio./s 0.62 Gbit/s

61 ms 2.14 Mio./s 0.49 Gbit/s

Independant 141 ms triangles: 0.92 Mio./s 10,924,656 bytes 0.62 Gbit/s

189 ms 0.69 Mio./s 0.46 Gbit/s

Triangle strips: 3,658168 bytes

Figure 4 Preprocessing results of three application scenarios at RRZN/RVS: DVR data volumes, and immediate mode rendering rates, times, bitrates, based on embedded DVR plugin (DocShow-VR 1.3). Window sizes: 1. 512x512 pixel, 2. and 3. 640x480 pixel. Platforms: – HP Kayak XW, fx6 graphics, 2 x Pentium II Xeon, 450 MHz, Windows NT 4.0 – SGI Onyx2 Infinite Reality, 4 x MIPS R10000, 195 MHz, Irix 6.5.4

© 1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999




Our concept of preprocessing, real-time streaming, and efficient, high-quality presentation of 3D scenes as Virtual Reality Movies, embedded in a WWW browser, has proven to be a powerful tool, in particular for high-performance application environments, such as exploration or presentation of visualized supercomputer simulation results on a 3D graphics workstation. This is a potential Gigabit-network killer-application, since the geometric rendering data throughput of a state-of-the-art 3D graphics system is in the order of Gbit/s, and the requirements for real-time transmission are similar in a streaming scenario. For example: N triangles, organized as a triangle strip with 3D normals per every 3D vertex have a volume of (N+2)*24 bytes in the case of the usual 32-bit representation for coordinate and normal vector components – this leads with N>>2 for 6 Mio. triangles/s to a data rate of above 1 Gbit/s. Already existing advanced distributed application scenarios will require the integration of collaborative functionalities – such as synchronization of viewing parameters, annotations, and video-conferencing in a multi-user environment – and the integration of further media types – such as video and audio streams as parts of an immersive virtual reality presentation.



This work is partly funded by the DFN-Verein (German Research Network), with funds from the BMBF (German Federal Ministry for Education and Research) in the project „DFN-Expo“. The authors wish to thank A. von Berg (RVS) for the discussion about the high-performance network issues and configuration of gigabit ethernet.

© 1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999




1. Andrews, K., Pesendorfer, A., Pichler, M., Wagenbrunn, K. H., Wolte, J.: Looking Inside VRwave: The Architecture and Interface of the VRwave VRML97 Browser. Proc. of VRML ‘98 Symposium, Monterey, California, 1998. ( 2. Balaguer, J.-F., Gobbetti, E.: i3D: A High-Speed 3D Web Browser. Proc. of VRML ‘95 Symposium, San Diego, 1995. ( 3. Bell. G., Parisi, A., Pesce, M.: The Virtual Reality Modeling Language – Version 1.0 Specification. 09.11.1995. ( 4. Berners-Lee, T., Connolly, D.: Hypertext Markup Language – HTML 2.0. RFC 1866, 03.11.1995. ( 5. Berners-Lee, T., Masinter, L., McCahill, M.: Uniform Resource Locators (URL). RFC 1737, 20.12.1994. ( 6. Broll, W.: DWTP – An Internet Protocol for Shared Virtual Environments. Proc. of VRML ‘98 Symposium, Monterey, California, 1998. ( 7. Brutzman, D., Zyda, M., Watsen, K., Macedonia, M.: Virtual Reality Transfer Protocol (vrtp) Design Rationale. Workshop on Enabling Technology: Infrastructure for Collaborative Enterprises (WET ICE): Sharing a Distributed Virtual Reality, MIT, 18.–20.06.1997. ( 8. Bryson, S., Levit, C.: The Virtual Windtunnel. IEEE Computer Graphics and Applications 12(4), 1992. 9. Campagna, S., Kobbelt, L., Seidel, H.: Enhancing Digital Documents by including 3D-Models. Computers & Graphics, Vol. 22, No. 6, 1998. 10. Corrie, B., Sitsky, D., Mackerras, P.: Integrating High Performance Computing and Virtual Environments. Proceedings of the Seventh Parallel Computing Workshop, Canberra, Australia, September 1997. ( 11. Doenges, P. K., Capin, T., K., Lavagetto, F., Ostermann, J., Pandzic, I. S., Petajan, E. E.: MPEG–4: Audio/Video & Synthetic Graphics/Audio for Mixed Media. Image Communication Journal, Vol. 5, No. 4, May 1997. 12. Engel, K., Grosso, R., Ertl, T.: Progressive Iso-surfaces on the Web. Proc. of IEEE Visualization 1998. ( 13. Fielding, R., Gettys, J., Mogul, J., Nielsen, H., Berners-Lee, T.: Hypertext Transfer Protocol – HTTP/1.1. RFC 2068, 03.01.1997. ( 14. Freed, N., Borenstein, N.: Multipurpose Internet Mail Extensions (MIME). RFC 2049, 02.12.1996. (

© 1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999


15. Guéziec, A., Taubin, G., Horn, B., Lazarus, F.: A Framework for Streaming Geometry in VRML. IEEE Computer Graphics and Applications 19(2), 1999. 16. Gumhold, S., Straßer, W.: Real Time Compression of Triangle Mesh Connectivity. ACM SIGGRAPH ’98 Conference Proceedings, July 19–24, 1998. 17. Grau, O.: Representation of Temporal Changes of Flexible 3-D Objects. International Workshop on Synthetic-Natural Hybrid Coding and Three-Dimensional Imaging 1997. 18. Haase, H.: Symbiosis of Virtual Reality and Scientific Visualization System. In: Computer Graphics Forum 15(3), 1996. 19. Haase, H., Dai, F., Strassner, J., Göbel, M.: Immersive Investigation of Scientific Data. In: Nielson, G. et al (eds.): Scientific Visualization – Overviews, Methodologies and Techniques, IEEE Computer Society Press, 1997. 20. Hardenberg, J.: RE: QvLib questions. VRML Hypermail Archive, 27.03.1995. ( 21. Has, M., Newman, T.: Color Management: Current Practice and The Adoption of a New Standard, 1996. ( 22. ISO/IEC 14772-1: The Virtual Reality Modeling Language (VRML97) – Part 1: Functional specification and UTF-8 encoding. International Standard, 1997. ( 23. ISO/IEC 14772-3: The Virtual Reality Modeling Language (VRML97) – Part 3: Compressed Binary Format Specification. Editor‘s Draft 5, 1997. 24. Klein, R.: Multiresolution representations for surface meshes. Proc. of SCCG, 1997. ( 25. Klein, R., Straßer, W.: Handling of Very Large 3D-Surface-Datasets Using Mesh Simplification and Multiresolution Modeling. Tutorial, Computer Graphics International 1998, Hannover, Germany, June 22–26, 1998. ( 26. Kobbelt, L., Campagna, S., Seidel, H.: A General Framework for Mesh Decimation. Graphics Interface Proceedings, Vancouver, BC, 18–20 June 1998. 27. Kobbelt, L., Campagna, S., Vorsatz, J., Seidel, H.: Interactive Multi-Resolution Modeling on Arbitrary Meshes. ACM SIGGRAPH ’98 Conference Proceedings, July 19–24, 1998. 28. Lane, D. E.: Scientific Visualization of Large-Scale Unsteady Fluid Flows. In: Nielson, G. M. et al (eds.): Scientific Visualization – Overviews, Methodologies and Techniques, IEEE Computer Society Press, 1997. 29. Nebel, E., Masinter, L.: Form-based File Upload in HTML. RFC 1867, 07.11.1995. ( 30. Neider, J., Davis, T., Woo, M.: OpenGL Programming Guide – The Official Guide to Learning OpenGL, Release 1. Addison-Wesley, 1993. 31. Netscape: Netscape Navigator LiveConnect/Plug-In Software Development Kit, 1998. ( 32. Netscape: Plug-In Guide – Communicator 4.0. January 1998. (

© 1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999


33. Olbrich, S., Pralle, H.: High-Performance Online Presentation of Complex 3D Scenes. IFIP Conference on High Performance Networking, Wien, 1998. 34. OPC – The OpenGL Performance Characterization Projekt: Viewperf Information and Results. ( 35. Parisi, T.: Corrections: Keeping Web 3D on Course. Keynote address at the VRML ‘99 Symposium, Paderborn, 1999. 36. Paul, B.: The Mesa 3-D graphics library. ( 37. Pesce, M., Kennard, P., Parisi, A.: Cyberspace. First WWW Conference, May 1994. ( 38. Raasch, S., Etling, D.: Modeling Deep Ocean Convection: Large Eddy Simulation in Comparison with Laboratory Experiments. J. Phys. Oceanogr., 1998, Vol. 28, 1796–1802. 39. Schroeder, W., Martin, K., Lorensen, B.: The Visualization Toolkit. 2nd Edition. Prentice Hall, 1997. 40. Schroeder, W.: Polygon Reduction Techniques. IEEE Visualization 1995. 41. Schulzrinne, H., Rao, A., Lanphier, R.: Real Time Streaming Protocol (RTSP). RFC 2326, 14.04.1998. ( 42. Signès, J., Cazoulat, R., Pelé, D., Le Mestre, G.: An MPEG-4 Player integrating 3D, 2D graphics, video and audio. International Workshop on SyntheticNatural Hybrid Coding and Three Dimensional Imaging 1997. 43. Strauss, P., Bell, G.: The VRML Programming Library – QvLib, Version 1.0 beta 1. 1995. ( 44. Taubin, G., Rossignac, J.: Geometric Compression Through Topology Surgery. IBM Research technical report RC-20340, 16.01.1996. ( 45. Taubin, G., Gueziec, A., Horn, W., Lazarus, F.: Progressive Forest Split Compression. ACM SIGGRAPH ’98 Conference Proceedings, July 19–24, 1998. 46. Taubin, G., Rossignac, J.: Geometric Compression Through Topologic Surgery. ACM Transactions on Graphics, Vol. 17, No. 2, April 1998. 47. Touma, C., Gotsman, C.: Triangle Mesh Compression. Graphics Interface Proceedings, Vancouver, BC, 18–20 June 1998. 48. Upson, C., Faulhaber, T., Kamins, D., Laidlaw, D., Schlegel, D., Vroom, J., Gurwitz, R., van Dam, A.: The Application Visualization System: A Computational Environment for Scientific Visualization. IEEE Computer Graphics and Applications, July 1989. 49. Vöckler, J.-S.: A quick glance at webfilt. RVS, University Hannover, 03.09.1997. ([email protected]) 50. Web 3D Consortium: The VRML Repository. ( 51. Wernecke, J.: The Inventor Mentor: Programming Object-Oriented 3D Graphics with Open Inventor. Release 2, Addison-Wesley, Reading, Mass., 1994.

© 1999, RRZN/RVS University of Hanover