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:
- Most VTK files, both ASCII and binary (.vtk)
- Wavefront Object (.obj)
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:
- Actions without selecting an object ("Action:")
- 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
| 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
| Request# | Date | Detail |
|---|---|---|
| 0003 | 20/09/2006 fixed 21/09/2006 | Support CELL_DATA keyword in VTK files |
| Request# | Date | Detail |
|---|---|---|
| 0003 | 20/09/2006 fixed 21/09/2006 | Support CELL_DATA keyword in VTK files |
Known Bugs / Issues
| Bug# | Date | Detail |
|---|---|---|
| 0001 | 12/09/2006 | JDK/JRE 1.5 or above required |
3rd Party Resources
| 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 $
