vhdPLUS Development Framework is a modern, fully component oriented simulation engine and software middleware solution.
Version: April 25th 2008vhdPLUS Development Framework is a modern, fully component oriented simulation engine and software middleware solution created by and reflecting many years of the R&D experience of both the MIRALab, University of Geneva and VRlab, EPFL labs in the domain
Operating System: Linux
VHD++ is a highly flexible and extendible real-time framework supporting component based development of interactive audio-visual simulation applications in the domain of VR/AR with particular focus on virtual character simulation technologies. It relies heavily on multiple, well established OO design patterns, uses C++ as the implementation language and Python as a scripting language. The framework allows for automatic exporting of its component extensions to the Python scripting layer making quick system prototyping and testing easy.
The overall architecture of the VHD++ framework is constructed around the following key semantical elements:
vhdRuntimeEngine: a generic, entirely reusable, high performance operational kernel,
vhdServices: freely extendible set of plugable service components encapsulating heterogeneous simulation technologies,
vhdProperties: hierarchical data components representing both system and simulation state forming runtime application graph and allowing concurrent mechanisms to operate on them.
vhdRuntimeEngine constitutes application domain neutral and hence entirely reusable, architectural and operational kernel. It features highly optimized collaboration of a finite set of fundamental services inherent to all applications in the VR/AR simulation domain:
a) on-demand runtime loading of simulation specific vhdService's (system runtime composition),
b) configuration/data/content loading (XML, VRML, WAV, MP3, etc.),
e) concurrent data sharing,
f) multi-threading and synchronization,
g) service scheduling,
h) event handling,
j) event and service brokering,
k) object referencing,
l) garbage collecting, etc.
vhdRuntimeEngine hosts runtime collaboration and provides "power supply" to all plugged vhdService's composing an application. The collaboration links between vhdService's are discovered, established and validated dynamically by the vhdRuntimeEngine at runtime. As a result vhdService's can be selected, loaded and activated at runtime, which allows for powerful runtime prototyping of application functional composition. Application neutral and hence generic vhdRuntimeEngine enables broad design reuse characteristic to framework oriented development methodologies.
Here are some key features of "vhdPLUS":
· support for development of high performance VR/AR applications
· existing and extendible spectrum of heterogeneous VR/AR, virtual character simulation technologies provided in from of plug-able vhdService components
· open architecture targeting extendibility and scalability
· runtime flexibility: XML based system and content configuration
· complexity curbing: multiple OO design patterns improve architecture clarity while abstraction levels simplify implementation constructs
· large scale design reuse: generic and hence fully reusable operational kernel (vhdRuntimeEngine) defines an architectural core of each VHD++ based application
· large scale code reuse: fundamental components providing core system level functionalities and ready-made components (vhdService's) encapsulating heterogeneous simulation level technologies e.g. 3D stereoscopic rendering, 3D surround sound, VR navigation using tracking devices, real time motion capture, virtual human animation (keyframes, procedural walking engine, animation blending, etc.), skin deformation, real-time physical clothes, face animation, speech, behaviors, interactive scenario authoring and execution, etc.
· GNU Tools
· Python & Scons
· OpenSceneGraph & OpenSG