These images show some applications which use rjs some or all of
the user interaction. Unless otherwise noted, all applications run
on linux and IRIX. When running on Linux the applications use the
local joystick device. When running on IRIX they interface with the
joystick device via a low-latency network connection (repeatd).
This code shows a cube which is maniplated with with the joystick.
Two two-axis controllers control the orientation and the zoom of the cube.
The resulting modelview matrix is displayed. The two dots on the
display represent the relative location of the manipulator for the quaterion
calcuations. The white dot represents the left axis controller of
the joystick (for orientation). The yellow dot represents the right
axis controller (for zoom). This code can be recompiled to work with
mouse-only interaction or the joystick.
This is a modified version of a reflection demo. The left controller
changes the viewpoint and the right controller will move the cone around
the scene. This code allows both the mouse and joystick devices to
operate simultaneously (the right mouse button will move the sphere around).
My main desire for writing this code was to manipulate clipping planes
inside OpenGLVolumizer applications. Here's an example which has
some more intricate manipulations. Volumizer is an API for volumetric
rendering and is available at no charge from the
website. There are some other interesting volume datasets at Christof
Rezk-Salama's site (although I haven't tried them yet).
Coming soon!