Skip to content
Skip to navigation menu


RAVE Public Beta

Welcome to the public beta of the Resource-Aware Visualization Environment (RAVE). Note that the beta is publicly available, so any datasets you host will similarly be publicly available. In a similar vein, RAVE does not currently support encrypted data transfer, so any datasets transfered will be visible to third parties (outside of RAVE) during data transfer.

For any support queries, or general feedback, please contact I.J.Grimstead@cs.cardiff.ac.uk


The RAVE Dataset Wizard

This section describes the wizard applet that is embedded in a web page, permitting the hosting, discovery and removal of datasets. Collaborative visualization is carried out by launching a client from this wizard, as described in the next section.

Optional Email Registration

Once the RAVE applet is launched, you will be prompted to enter your email address. This then restricts the destruction of any datasets to yourself, and will also be used to inform you of updates to the RAVE service. Once you have entered your email address, you can launch the client by the "Launch RAVE" button. If you prefer to log in anonymously, simply click on the "Launch RAVE anonymously" button, and do not enter an email address.

Benchmark Test

If Java3D is installed locally (Java3D 1.3.1 or upwards required), then a benchmark is run. A simple sphere is rendered in an on-screen window, to determine the frame rate that the local client can render. This frame rate is used to select whether to render a dataset locally or to rely on a remote render service.

Java3D is publicly hosted at https://java3d.dev.java.net/, the latest release is 1.4.0_01 available for download (a self-extractor/installer for 32-bit MS Windows, Sun Solaris [Sparc and x86] and Linux [i586 and AMD64]).

The RAVE Dataset Wizard

When launched, the RAVE wizard will search the UDDI server to discover available RAVE servers. A percentage bar will grow from 0 to 100% whilst the RAVE servers are interrogated for available datasets.

To view a particular dataset, simply select the row in the table that contains the dataset. Enter the size of the image you wish to view (width, height), a name you wish to be represented by in the dataset, and a minimum framerate threshold you wish to accept. The email address you entered (when launching the applet) will be listed alongside your avatar name (or "Anonymous User" if you wished to not register your email).

Optionally, you may disable the usage of a local active client by ensuring the "Enable active client" tick box is empty. This enables you to test a thin client even if you have the necessary Java3D libraries installed for an active client (which would otherwise be automatically detected and used).

To start the visualization client, click on the "launch client" button. If the frame rate is not achievable by the local client (due to available memory, speed / availability of graphics processor, etc.), a RAVE Render Service will be started from the Data Service, which will in turn provide the rendered images presented by the RAVE client. The Render Service will be selected due to network bandwidth and the frame rate achievable by the service, to provide the requested minimum frame rate with the dataset.

If no services are available to provide a given frame rate, please reduce the frame rate threshold and retry.

NOTE: The amount of memory available to web-based applets may only be 64Mb; this may be insufficient to support larger datasets with an Active Client (hence a Thin Client will be selected, even though if Java3D is installed, the local GPU is present and capable of a sufficient framerate). To change the memory allocation, open the Java plugin control panel and select a larger maximum amount of memory via the user-interface or runtime switches. For example, add the -Xmx256M runtime flag to specify an upper limit of 256 MBytes (instead of 64 MBytes). You may have to restart your browser after changing the Java plugin runtime parameters.

The details depend on your operating system and Java version; please check your system documentation or ask your local Java guru for help. In the original JDK/JRE from Sun Microsystems, the Java plugin control panel application is located at $JDKDIR/jre/bin/ControlPanel(.exe). On Windows, you can start the Java plugin control panel either directly from the Java runtime environment installation directory, or via the Windows software configuration utility (start-menu/settings/software, scroll down to locate the Java plugin entry.) (Taken from http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/usage.html)

Supported Dataset File Formats

The supported dataset formats are listed below:

Please refer to the full catalogue of provided sample datasets.

Uploading New Datasets

If you wish to create a new RAVE data service instance (i.e. make a new dataset available for visualization), click on the "Upload New Dataset" button. A list of URLs are provided for you, simply select a URL from the drop-down menu. Alternatively, you can try uploading a different dataset by entering the URL into the text field.

Once the URL is set, you must give the dataset a name, and human-legible description (this will be shown to other users to describe what the dataset is). Each dataset in RAVE is hosted for a given amount of time (to prevent clutter on servers, etc.); use the slider bar to select how many minutes you would like the service to remain available for (akin to "time to live").

Once you are ready for the dataset to be hosted, click on the "Upload dataset" button. This will scan for available for data servers, and select the most suitable one (due to available memory, proximity to the client, etc.). Once selected, the dataset will be uploaded asynchronously.

To use the new dataset, click on the "Refresh" button - this will trigger a search of the UDDI server for available datasets, which will in turn discover the newly uploaded dataset (once the server has completed its upload - depending on the network link, this could take anything from 10 seconds to several minutes).


The RAVE Visualization Client

This sections describes the collaborative visualization client, which attaches to datasets discovered using the wizard (as discussed in the previous section).

GUI Description

The launched client will show:

Action:
A list of menu options that can be applied without selecting an object. Examples are to move your camera, fly to a default "home" position or to drop a marker.
Action with Object:
A list of menu options thta apply to the currently selected object, such as rotate object, move object, etc.
Parameter:
This is a textual string that is used by the currently selected object. An example is the text to be assigned to a marker - the "set" button is used to update the string held by RAVE..
Position (x,y,z):
The current position of your camera in RAVE world space (x,y,z) co-ordinates
Look Direction (x,y,z):
The current look direction of your camera in RAVE world space (x,y,z) co-ordinates
Frames per second (FPS):
With an active client, the number of full frames rendered per second. With a thin client, the number of frame updates received per second, which may be partial or incomplete frames.

Navigating the Dataset

There are 2 modes of interaction through the GUI:

  1. Actions without selecting an object ("Action:")
  2. Actions relating to a selected object ("Action with Object:")

The two modes are presented in two drop-down menus, each with a "mode" button - select the mode button above the menu to enable the selected menu option. When the mouse is clicked and dragged in the graphical view of the dataset, the selected action will be carried out.

The sequence is: click mouse (to start action), drag mouse (to determine how fast action is carried out), release mouse (to terminate action). For example, to move the camera slowly, select "Move Camera" and drag the mouse a short distance. The camera will slowly move; to move the camera quickly, drag the mouse further away from your initial "point of click".

For example, the default mode is action without selecting an object. For each logged-in user, they will have a set of option related to their avatar/camera:

[Your avatar name] Go to Home Position
Your camera will move to the default home position for the dataset, which should provide a view of the entire dataset
[Your avatar name] Jump to this Camera's position
This will "teleport" your camera to the select camera's position - in this case, your camera, so there will be no visible side-effect; try this with someone else's camera.
[Your avatar name] Fly to this Camera's position
Your camera will fly (taking approximately 1 second) to the position of the select camera. Again, the camera is actually your camera, so no visible side-effect.
[Your avatar name] Track this camera
You will be "attached" to the selected camera, so when the selected camera moves, you will move with it. However, you retain full control of your camera and can move relative to it. For instance, rotating your camera will be relative to the attached camera, akin to looking out of th ewindow whilst someone else is driving.
[Your avatar name] Stop tracking other camera
This is used to return you to your original starting point when you wish to stop tracking another user's camera.

Further information on navigating with other users is covered below in a following section.

In addition to the camera-related actions, there are actions to create and use Markers; these are discussed below.

Modifying the Dataset

To select an object, simply click on it in the graphical representation window. Similarly, to un-select an object, click away from any objects on the background colour in the window (usually a royal blue colour). To reflectthat an object has been selected, the object will "pulse" in size, and the button "Action with Object: no Node selected"| will now read "Action with Object: Node #123" (or similar). Actions available for the object will be listed in the drop-down menu; common options are listed below, but an object may have more options available.

Move Object
Move the object along its local X and/or Y axes
Rotate Object
Rotate around the object's local X and Y axes

Navigating With Other Users

To participate in RAVE with other users, we recommend the usage of a 3rd party voice-over-IP application, such as Skype, NetMeeting or a SIP client. This enables users to communicate directly about what they are seeing.

If a collaborating user has discovered a viewpoint of interest, you can use the "fly to" or "jump to" their avatar's position to see what they are seeing. Note that "jump to" is instantaneous, whereas "fly to" reveals the relation of their viewpoint to yours by gradually moving through the dataset to the new position.

An alternative to just matching your collaborator's viewpoint is to "track" their camera - in effect, hitch a ride on their camera. You will see what they see, and can be taken through the dataset via their camera. This mode is particularly useful for guided tours / teaching, etc.

Finally, "Markers" are extremely useful when wishing to collaborate ascynchronously with other users; these are discussed in the next section.

Markers

Markers are conical arrows that are akin to user's avatars, except they are green rather than red. Markers are created by users, with user-provided text displayed underneath them. They can hence be used to share information between users, such as notifying important features, forming a guided trail, or simply a form of digital "Post-It" note. Note that markers exist for the lifetime of the dataset, so are retained when the creating user logs out.

The options related to Markers are displayed in the "Action:" menu:

[Your avatar name] Drop Marker
This will drop a marker into the scene (a green arrow - compared to a red arrow for other users). The text under the marker is taken from the "Parameter" text-box that should be set in advance.
Marker Name - Jump to Marker
This will "teleport" your camera positoin to that of the selected marker; akin to "Jump to this Camera's position"
Marker Name - Fly to Marker
This will fly you (over a period of approximately 1 second) to the selected marker, akin to "Fly to this camera's position"
Marker Name - Set Name of Marker
Changes the text associated with the marker to that which has recently been set in the "Parameter" text box.

Implementation Notes

Note that the client may be either "Active" or "Thin"; an active client holds a copy of the dataset for local rendering (using Java3D - if present). A thin client receives a fully rendered image from a RAVE Render Service, which in turn contains a copy of the dataset from the RAVE Data Service.


Launching the RAVE Wizard Applet

First, make sure your firewall is configured to permit a web applet to connect over a range of TCP/IP ports on remote hosts. When you're ready, you may launch the RAVE applet, hosted on a separate web page. It requires Java Applet support to be installed (Java 1.4.2 or newer), and will auto-launch the embedded applet in the web page.

System Requirements

The RAVE applet has been tested with the following environments:

Operating System Browser Java Java3D GPU
Fedora Core 4 Firefox Sun 1.5.0_08-b03 1.3.1 (OpenGL) NVidia GeForce Go! 7800
Windows XP Home SP2 Firefox Sun 1.5.0_08-b03 1.4.0_01 NVidia GeForce FX 5200

Firewall Configuration

Initially, RAVE will attempt to double-check any entered email addresses by performing a host lookup. If this fails, RAVE will assume a typo in the email address and ask the user to retry.

RAVE will then connect to a UDDI server located in WeSC, which is hosted on port 8334. Once the UDDI interrogation is completed, it will have a list of machines to communicate with and discover available RAVE services (and related datasets).

Our main test server in WeSC hosts the RAVE Web Service on port 8080; data is transferred (such as network bandwidth testing, scene graph data, rendered images, etc.) over ports in the range 30,000 - 30,100.


Release History

Publicly released versions of RAVE
Date Release# Detail
1/02/2007 1:4267 Support for more point-cloud formats
22/09/2006 1:4249 Bug fixes (increased server stability)
21/09/2006 1:4242 Additional VTK & point-cloud support
12/09/2006 1:4238 First release

Feature Requests

Outstanding feature requests with the current public beta release
Request# Date Detail
0003 20/09/2006 fixed 21/09/2006 Support CELL_DATA keyword in VTK files
Historical feature requests with RAVE
Request# Date Detail
0003 20/09/2006 fixed 21/09/2006 Support CELL_DATA keyword in VTK files

Known Bugs / Issues

Known bugs and issues with the current public beta release
Bug# Date Detail
0001 12/09/2006 JDK/JRE 1.5 or above required

3rd Party Resources

3rd party resources used by the RAVE applet
Resource Filename Version Source
Java Activation Framework activation.jar 1.0.2 http://java.sun.com/products/javabeans/jaf/
Apache Axis axis.jar 1.1 1541 Part of Apache Axis released at http://ws.apache.org/axis/java/releases.html
Apache Axis JAXRPC axis-jaxrpc.jar 1.1 Part of Apache Axis released at http://ws.apache.org/axis/java/releases.html
Commons Discovery commons-discovery.jar 0.2 Part of Apache Axis released at http://ws.apache.org/axis/java/releases.html
Commons Logging commons-logging.jar 1.0.3 Part of Apache Axis released at http://ws.apache.org/axis/java/releases.html
Java3D core library j3dcore.jar 1.3 or newer Provided as part of https://java3d.dev.java.net/, also related run-time native library libj3dcore-ogl.so (or DLL under MS Windows, with DirectX variant)
Java3D utility library j3dutils.jar 1.3 or newer Provided as part of https://java3d.dev.java.net/, also related run-time native library libj3dutils.so (or DLL under MS Windows)
Log4j log4j.jar 1.2.8 Part of Apache Axis released at http://ws.apache.org/axis/java/releases.html
Java Mail mail.jar 1.3.3_01 http://java.sun.com/products/javamail/
SAAJ saaj.jar 1.1 Part of Apache Axis released at http://ws.apache.org/axis/java/releases.html
UDDI4J uddi4j.jar 2.0.2 http://uddi4j.sourceforge.net/index.html
Java3D Vector math library vecmath.jar 1.3 or newer Provided as part of https://java3d.dev.java.net/
Xerces implementation xercesImpl.jar 2.6.2 Provided as part of http://xerces.apache.org/xerces2-j/index.html
XML Parser APIs xmlParserAPI.jar 2.6.2 Provided as part of http://tomcat.apache.org/

Version information

Web page Last updated on: $Date: 2006/10/06 15:19:53 $
Version information: $Revision: 1.28 $