Welcome to Equalizer, the standard middleware to create and deploy parallel, scalable OpenGL applications. It enables applications to benefit from multiple graphics cards, processors and computers to scale the rendering performance, visual quality and display size. An Equalizer application runs unmodified on any visualization system, from a simple workstation to large scale graphics clusters, multi-GPU workstations and Virtual Reality installations.
As with any open source project, the available source code, in particular the shipped examples provide a reference for developing or porting applications.
Technical questions can be posted to the eq-dev Mailing List, or directly to email@example.com.
Equalizer provides the following major features to facilitate the development and deployment of scalable OpenGL applications. A detailed feature list can be found on the Equalizer website. The [change log](@ref Changelog) lists features, improvements and bug fixes introduced in each version.
- Runtime Configurability: An Equalizer application is configured automatically or manually at runtime and can be deployed on laptops, multi-GPU workstations and large-scale visualization clusters without recompilation.
- Runtime Scalability: An Equalizer application can benefit from multiple graphics cards, processors and computers to scale rendering performance, visual quality and display size.
- Distributed Execution: Equalizer applications can be written to support cluster-based execution. Equalizer uses the Collage network library, a cross-platform C++ library for building heterogenous, distributed applications.
- Support for Stereo and Immersive Environments: Equalizer supports stereo rendering head tracking, head-mounted displays and other advanced features for immersive Virtual Reality installations.
- Detailed @ref Changelog
Please refer to the github issue tracker for fixed and open bugs, and to report new bugs.
Building from source
Equalizer is a cross-platform library, designed to run on any modern operating system, including all Unix variants and the Windows operating system. Equalizer requires at least OpenGL 1.1, but uses newer OpenGL features when available. It requires a C++11 compiler and uses CMake to create a platform-specific build environment. The following platforms and build environments are tested:
- Linux: Ubuntu 16.04, RHEL 6.8 (Makefile, Ninja)
- Windows: 7 (Visual Studio 2012)
- Mac OS X: 10.9 (Makefile, Ninja)
Linux, Mac OS X
git clone --recursive https://github.com/Eyescale/Equalizer.git mkdir Equalizer/build cd Equalizer/build cmake -GNinja -DCLONE_SUBPROJECTS=ON .. ninja
git are in PATH, run the following batch script to build using
Visual Studio 2013:
A note about BOOST + CMake on Windows
If your build fails with a
Could NOT find Boost message, you may have a bad
environment setup for
CMake. To remedy this,
CMake requires you
to properly hint it to find your
Boost distribution. Make sure you have the
following variables set up:
BOOST_ROOTpointing to your Boost root directory.
BOOST_INCLUDEDIRpointing to your Boost includes (usually where
BOOST_LIBRARYDIRpointing to your Boost binary directory (
Boost_ADDITIONAL_VERSIONShaving major, minor, and patch versions (separated by space).
ONif you want to statically link to
Boost. (default is
ONif you want to use
Boostmulti-threaded libraries. (default is
An example set up would be (typed in Windows command prompt):
setx `BOOST_ROOT` "F:\boost_1_57_0\" setx `BOOST_INCLUDEDIR` "F:\boost_1_57_0\" setx `BOOST_LIBRARYDIR` "F:\boost_1_57_0\lib32-msvc-12.0\" setx `Boost_ADDITIONAL_VERSIONS` "1.57 1.57.0" setx `Boost_USE_STATIC_LIBS` "ON" setx `Boost_USE_MULTITHREAD` "ON"