Overview
The goal of the FlowVR library is to provide users with the necessary tools to develop and run high performance interactive applications on PC clusters and Grids. The main target applications include virtual reality and scientific visualization. FlowVR enforces a modular programming that leverages software engineering issues while enabling high performance executions on distribued and parallel architectures.
The FlowVR software suite has today 3 main components:
- FlowVR : The core middleware library. FlowVR relies on the data-flow oriented programming approach that has been successfully used by other scientific visualization tools. Developing a FlowVR application is a two step process. First, modules are developed. Modules encapsulate a piece of code, imported from an existing application or developed from scratch. The code can be a multi-threaded or parallel, as FlowVR enables parallel code coupling. In a second step, modules are mapped on the target architecture and assembled into a network to define how data are exchanged. This netwok can make use of advanced features, from simple routing operations to complex message filtering or synchronization operations.
-
FlowVR Render
: A parallel rendering library. FlowVR Render proposes a framework to take 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 making an intensive use of hardware shaders. FlowVR Render comes with a port of the
MPlayer Movie Player
. This will enable you to play movies on your favorite multi display environment. This application also a good example of the potential of FlowVR and FlowVR Render.
Existing parallel or remote rendering solutions rely on communicating pixels, OpenGL commands, scene-graph changes or application-specific data. FlowVR Render propose an intermediate solution based on a set of independent graphics primitives where hardware shaders are used to specify their visual appearance. Compared to an OpenGL based approach, it reduces the complexity of the model by eliminating most fixed function parameters, while taking advantage of the latest functionalities of graphics cards. Read the IEEE Vis 2005 paper to better understand the FlowVR Render concepts.
- VTK FlowVR : a VTK / FlowVR / FlowVR Render coupling library. VTK FlowVR enables to render VTK applications using FlowVR Render with minimal modifications of the original code. VTK FlowVR also enables to encapsulate VTK code into FlowVR modules to get access to all FlowVR capabilities for modularizing and distributing VTK processings.
Refer to the Gallery section for screenshots and videos.
Access to FlowVR's download page and mailing lists on sourceforge .
FlowVR is a common development of the MOAIS group, an INRIA research project , Grenoble, and the Laboratoire d'Informatique Fondamentale d'Orleans .
FlowVR was partly funded by the RNTL grant GEOBENCH.
