been used in many virtual reality projects
(Carrozzino, Tecchia, Bacinelli and Bergamasco,
2005).
Originally created for the development of web-
enabled virtual reality applications, XVR has
evolved in recent years into an all-around
technology for interactive applications. Beside
web3D content management, XVR now supports a
wide range of VR devices (such as trackers, 3D
mice, motion capture devices, stereo projection
systems and HMDs) and uses a state-of-the-art
graphics engine for the real-time visualization of
complex three-dimensional models, which is
perfectly adequate even for advanced off-line VR
installations.
XVR applications are developed using a
dedicated scripting language whose constructs and
commands are targeted to VR, and provide
developers with the opportunity to deal with 3D
animation, positional sounds effects, audio and
video streaming and user interaction.
In its current form XVR is an ActiveX
component running on various Windows platforms
and can be embedded in several container
applications including the web browser Internet
Explorer.
It is possible to load additional modules which
offer advanced functionalities, such as support to
VR devices, as a decision was made to keep them
separate so that web applications, which do not
usually need any of these advanced features, are not
afflicted by additional downloading times.
2.3 Open Dynamics Engine (ODE)
The Open Dynamics Engine is an open source, high
performance library for simulating rigid body
dynamics. It is a fully featured, stable, mature and
independent platform with an easy to use C/C++
API. It has advanced joint types and integrated
collision detection with friction.
ODE is useful for simulating vehicles, objects
in virtual reality environments and virtual creatures.
It is currently used in many computer games, 3D
authoring tools and simulation tools.
ODE is a free, industrial quality library for
simulating articulated rigid body dynamics. It is
good for simulating ground vehicles, legged
creatures, and moving objects in VR environments.
ODE is designed to be used in interactive or
real-time simulations and is particularly good for
simulating moving objects in changeable virtual
reality environments.
The ODE collision system provides fast
identification of potentially intersecting objects and
a non-penetration constraint is used whenever two
bodies collide; the current collision primitives are
sphere, box, capped cylinder, plane, ray, and
triangular mesh. However, it can be ignored and an
alternative collision detection can be used (Open
Dynamics Engine, http://www.ode.org).
2.4 OpenHaptics
The SensAble OpenHaptics toolkit enables software
developers to add haptics and true 3D navigation to
a broad range of applications, it can be used for
design and for games and entertainment and also for
simulation and visualization.
Using the OpenHaptics toolkit, developers can
leverage the existing OpenGL code for specifying
geometry, and supplement it with OpenHaptics
commands to simulate haptic material properties
such as friction and stiffness.
The architecture enables developers to add
functionality to support new types of shapes and it is
also designed to integrate third-party libraries such
as physics/dynamics and collision detection engines
(SensAble Technologies, http://www.sensable.com).
Figure 1: Loops of the simulation.
3 SIMULATION DESCRIPTION
The developed application is a simulation of a game
of billiards. To make the game as interactive and
realistic as possible for the user a force feedback is
provided by means of a commercial haptic interface.
In the simulation it is possible to distinguish
three different models: graphical modelling, physical
modelling and haptic modelling.
Each type of modelling can be represented by a
loop executed at a specific frequency; the XVR
application combines all the loops. This is shown in
Figure 1.
GRAPP 2008 - International Conference on Computer Graphics Theory and Applications
452