A Framework for Interactive Remote 3D Visualization
Introduction
We developed a framework that provides remote control to Open Inventor
or Cosmo3D based visualization applications. A visualization server distributes
a visualization session to Java based clients by transmitting compressed
images from the server frame buffer. Visualization parameters and GUI events
from the clients are applied to the server application by sending CORBA
(Common Object Request Broker Architecture) requests. The framework provides
transparent access to remote visualization capabilities and allows sharing
of expensive resources. Additionally the framework opens new possibilities
for collaborative work and distance education. A teleradiology system and
an automotive development application make use of the proposed techniques.
Technique
We developed a framework for the remote visualization of large scientific
data sets. It is able to use 3D acceleration hardware of
the server system and allows to use these features from any Internet-connected
PC interactively. The general scenario used for the
framework consists of an high-end visualization server for rendering
images and one or more clients to provide a user interface, display the
rendered images, and control the visualization (see Figure). There are
no special requirements for the
choice of the clients. Even a PDA with TCP/IP network connection and
adequate display resolution would be sufficient.
On the server side an Open Inventor or Cosmo3D based visualization application
is rendering either images on-screen into the frame buffer or off-screen
into the pbuffer. Thereby two different scenarios can be derived: A master
user controls the session on the server machine and uses the visualization
application locally. Images rendered on-screen into the frame buffer are
encoded and transferred to all clients using a socket connection. The second
scenario uses a display-less server that runs the server job in the background
and renders into the pbuffer. The pbuffer is a special protected graphics
memory block which allows hardware accelerated off-screen rendering. Images
are read from this buffer into main memory, encoded and transferred to
the attached clients using a socket connection.
The Java client enables transparent remote access to the visualization
capabilities of the high-end server from any window system supporting platform.
The received image data is decoded, stored as a Java2D buffered image and
drawn into the frame buffer. Mouse and keyboard events generated on the
client are transported to the server machine using CORBA method calls.
The server provides an Open Inventor or Cosmo3D interface for these events
that passes the parameters to objects and functions that handle the events
on the server side. Thereby, when using Open Inventor, a manipulator widget
can be remotely picked and dragged. Application parameters are transferred
to the server using a second CORBA event interface.
Applications
-
Medical Volume Visualization:
Our approach allows working groups to discuss medical volume data sets
collaboratively. 3D texture supporting graphics
workstations, which were too expensive for many hospitals, can now
be used remotely from any desktop PC. No patient data is transferred through
the network and the security of the image stream can be ensured.
C++/OpenInventor Server
JAVA Client
-
Automotive Development:
Another example where the presented technique is very useful is the visualization
in the car development process. In cooperation with the BMW Group we developed
a Cosmo3D / OpenGL Optimizer based application which is in productive use
in the pre- and post-processing of crash-worthiness simulations.

C++/Cosmo3D Server
JAVA/Netscape Client
References
[1] K.
Engel, Ove Sommer, T.Ertl: A Framework for Interactive Hardware-Accelerated
Remote 3D-Visualization, Data Visualization 2000, Springer Computer Science,
Pages 67-177, 291
back to VIS Homepage
Deutsch