The following manual was designed to give the reader an overview of the organization and fundamental components that make up the CHAI3D framework. We advise the reader to use this tutorial in combination with the various examples that have been extensively documented inline.
CHAI3D (Computer Haptics and Active Interface) is an open source set of C++ libraries for computer haptics, visualization and interactive real-time simulation. Originally started at the Artificial Intelligence Laboratory at Stanford University, CHAI3D was developed to provide a simple and compact framework for introducing experimental haptics to the research community. With further contributions from EPFL in Switzerland and the University of Siena in Italy, the first public version of CHAI3D was released in 2004. Written entirely in C++, CHAI3D was designed to make it easier and more intuitive for developers to create applications that combine 3D modeling with force-feedback rendering capabilities. By supporting different types of force-feedback devices, CHAI3D offers a unique interface to easily design and deploy advanced computer haptic applications.
Over the years, CHAI3D has grown to become one of the most popular open source multi-platform haptics rendering frameworks, and has been used in a large number of research and production projects, in such diverse areas as games, simulators, educational software, interactive art, scientific visualization, and medical applications.
CHAI3D combines an extensive number of force rendering algorithms, including the finger-proxy model, potential fields and implicit based models which allow programmers to easily develop sophisticated simulations with integrated haptic capabilities. The framework also provides the necessary data structures required to create multi-level scene graphs which carry static, dynamic and articulated bodies. A lightweight OpenGL-based graphics engine provides the foundations for easy rendering of virtual environments using dedicated 3D graphic acceleration hardware. Object meshes, implicit shapes, volumes, surface materials and texture properties are all represented in well organized classes that can easily be extended by the programmer to incorporate more advanced or application-specific features. CHAI3D also provides support for importing 3D files from professional applications such as Autodesk 3D Studio Max and Alias Wavefront.
Support for third party components is achieved through organized extension modules that independently complement the capabilities of the CHAI3D core elements. Extension modules include wrappers for the ODE and GEL dynamics engines, making it possible to simulate rigid and deformable bodies in real time. CHAI3D also supports various commercially-available three-, six- and seven-degree-of-freedom haptic devices, and makes it simple to support new custom force-feedback devices. Thanks to its lightweight and modular architecture, CHAI3D can easily be combined with third party libraries including graphics or dynamics engines.
The CHAI3D framework is supported under the following operating systems: