Stuart Gilson's Homepage

Demos

Here is some details of the programs I have written or are still developing:
VR aeroplane The Stereoview library. This is a set of C++ routines designed to make using our VR setup easier. The API is designed such that most GLUT program can be converted to work in stereo simply by changing the glutXXX() calls to stereoviewXXX() calls. All the coordinate reading, processing, user-feedback, optic-centre corrections and stereo rendering are then handled by the library.

All the screenshots you'll see here are taken from programs written for - or converted to use - the Stereoview library.

Of course, the library itself doesn't actually draw anything - you need a `main' program for that. For testing purposes, the ingeniously named Stereotest program was written. This creates a simple virtual room (see image to the left) with the green lines representing the walls of the room (and which do actually correspond to real walls). The aeroplane demonstrates loading and rendering 3DS .obj files, and also object manipulation using the IS900 wand (see equipment page) - the aeroplane follows the wand position and orientation allowing you to `fly' the plane just as you would a hand-held model plane.


3D paint snapshot A 3D painting program. A wireframe cube repesenting a 3D canvas floats in front of you. You move the wand into that region of space and a paintbrush appears. Press the wand buttons to draw in different colours. Now walk around your creation and view from all sorts of angles. Great fun for all the family!

Download an movie of this program being used (AVI, 2.1Mb). Apologies for the low quality, but any other format produced much a bigger file. The real thing looks much better than this.


3D Quake III Arena snapshot A modification of a Quake 3 engine (based on the CAVE Quake 3 code) to run on our VR set up.

The image to the left is a snapshot of Quake III Arena rendered in stereo. The two views are for the left- and right-eye respectively.

Unoptimized code currently gives between 10 and 20 frames per second at 1280x512x24bpp resolution (but remember that a `frame' here is actually two complete renderings of the scene).


3D fish tank snapshot A virtual fishtank. Well, more of an ocean, really, since the `fish' are actually sharks, dolphins and whales. Heavily based on the OpenGL Atlantis demo, but with more realistic fish motion and added fog (to give a fantastic sense of depth). The way the fish `come out' of the murky depths toward you is great!

3D rollercoaster snapshot A virtual rollercoaster. Again, based on the OpenGL/Mesa rollercoaster code this allows free head movements as you roll along the track inside the car. Unfortunately, too fast/jerky to be realistic and induce motion sickness.


Page last updated by Stuart Gilson on 07:09:02.