Version 5 (modified by ajaworski, 13 years ago) (diff) |
---|
Equalizer installation and usage
Equalizer is a library designed for distributed rendering of OpenGL applications. Unlike when using SAGE OpenGL wrapper, some ingeration in source code needs to be done to initialize and use the framework, but the main loop of OpenGL remains untouched and all the splitting is done transparently for the developer.
Installation
Best method for installing Equalizer library is to compile it from sources. Currently installed version on 16K wall is the latest 1.2. Any required packages that are missing are reported during cmake configuration. It is best to keep build directories in the same path on each node of the system.
Configuration
Equalizer can work in numerous modes, including distributed rendering for single display, walls, caves, all in planar 2D or 3D. Everything is setup using proper configuration file. You can read more about these files in documentation and user's manual or look at sample configuration files in examples/configuration directory. Configs for 16K wall can be found on svn. To pass specific configuration file you have to use --eq-config switch when running application.
Differences with SAGE
The main difference between using Equalizer and SAGE is method of image acquisition. In SAGE the whole, uncompressed image is sent to tiles over the network, which requires very high bandwidth. Equalizer on the other hand uses network only to synchronize between nodes, everything is renedered on tiles. Therefore, when playing video or rendering model from file each node needs to have a copy of it located in the same path. Of course, we can use network storage, but then again high-speed network is required to send all the data to tiles.
To sum up, SAGE's bottleneck is network bandwidth, Equalizer's bottleneck is GPU power and I/O speed.
Sample applications
Equalizer comes with few samples, like eVolve used to render volumetric models and eqPly, used to render "normal" 3d models.
Bino
Bino is a 3rd party video player, which can use Equalizer to render picture on a tiled display. It is available as open-source. Currently, 1.3.2 version is installed, which fixes many bugs of previous versions.
Installation
Current version of bino requires GLEWmx library in version 1.6.0 or higher. GLEWmx is a part of GLEW library. If it is not available in repo, it can be downloaded and compiled using make all and sudo make install.all. Simple make and sudo make install without 'all' is not enough.
Apart from GLEWmx, some other packages may be required - all of them will be pointed during configuration.
Just like any application using Equalizer, Bino build needs to be in the same path on each node.
Usage
First thing to do when running Bino using Equalizer is to have a video file available in the same path on all nodes. Then, you have to run bino, passing Equalizer configuration file and other parameters (input, output mode, benchmark, loop), as described in bino documentation.