This software specializes in creating and running virtual reality apps across clusters and grids.
The FlowVR Suite is made up of three main components, including the core middleware library FlowVR, the parallel rendering library FlowVR Render, and the VTK/FlowVR/FlowVR Render coupling library VTK FlowVR. FlowVR relies on the data-flow oriented programming approach that's been successfully used by other scientific visualization tools.
Developing a FlowVR application is a two-step process. First, modules are developed to encapsulate a piece of code imported from an existing application or developed from scratch. This code can be multi-threaded or parallel, as FlowVR enables parallel code coupling. In the second step, modules are mapped on the target architecture and assembled into a network to define how data are exchanged. This network can make use of advanced features, from simple routing operations to complex message filtering or synchronization operations.
FlowVR Render, on the other hand, is a parallel rendering library that proposes a framework for taking advantage of the power offered by graphics clusters to drive display walls or immersive multi-projector environments like Caves. It relies on an original approach that makes intensive use of hardware shaders. FlowVR Render also comes with a port of the MPlayer Movie Player, enabling users to play movies on their preferred multi-display environment.
Lastly, VTK FlowVR enables the rendering of VTK applications using FlowVR Render with minimal modifications of the original code. VTK FlowVR also enables the encapsulation of VTK code into FlowVR modules to get access to all FlowVR capabilities for modularizing and distributing VTK processings. Compared to traditional OpenGL-based approaches, FlowVR Render reduces model complexity by eliminating most fixed function parameters while taking advantage of the latest functionalities of graphics cards. Check out the IEEE Vis 2005 paper to better understand the FlowVR Render concepts.
Overall, FlowVR is an excellent software package, particularly for those seeking to develop and execute virtual reality applications efficiently across clusters and grids. Its comprehensive suite of features makes it easy to produce high-quality VR applications, and the parallel rendering library FlowVR Render is particularly noteworthy for its original approach using hardware shaders.
Version 1.6.0: N/A