Equalizer is the standard middleware to create and deploy parallel OpenGL-based 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 workstatio…
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CMake Update package config to work with Subprojects Dec 15, 2017
Darwin Closes #123: Build universal libraries even when AGL is enabled. May 31, 2012
GLEW Using pression::data API (#591) Dec 12, 2016
doc EqPly: added --immersive option to use in VR mode Jun 7, 2018
eq Update Deflect to 0.14.0, replace deprecated swapYAxis() function May 18, 2018
examples Update opendeck.eqc configuration Jun 7, 2018
patches Remove obsolete patches Jul 2, 2012
seq triply: Cull based on much tighter AABBs instead of bounding spheres Jun 6, 2017
tests Linux travis Sep 21, 2017
tools Some Windows-related fixes. Sep 21, 2017
.clang-format clang-format May 19, 2017
.gitattributes CR #358 Aug 18, 2014
.gitignore Release preparations May 30, 2017
.gitmodules Release preparations May 30, 2017
.gitsubprojects Update Deflect to 0.14.0, replace deprecated swapYAxis() function May 18, 2018
.travis.yml Linux travis Sep 21, 2017
ACKNOWLEDGEMENTS Remove broken CUDA/ComputeContext support Sep 27, 2016
AUTHORS Update Authors Jun 27, 2013
CHANGES.md Improve doxygen (PetrosKataras/stardust#2) Jul 28, 2015
CMakeLists.txt Some Windows-related fixes. Sep 21, 2017
CTestConfig.cmake Minor CTest tweaks Dec 20, 2010
LGPL Release 0.1 preparations: Update top-level documentation files and re… Oct 31, 2006
LICENSE.txt Update License Mar 16, 2012
README.md Release preparations May 30, 2017
build.bat One-click build on Windows, updated README.md Feb 15, 2015

README.md

Introduction

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.

The Equalizer Programming and User Guide covers the basics of Equalizer programming. The API documentation can be found on github.

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 info@equalizergraphics.com.

Commercial support, custom software development and porting services are available from Eyescale. Please contact info@eyescale.ch for further information.

Features

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

Known Bugs

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

Windows

If CMake and git are in PATH, run the following batch script to build using Visual Studio 2013:

build.bat

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 Boost and 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:

  1. BOOST_ROOT pointing to your Boost root directory.
  2. BOOST_INCLUDEDIR pointing to your Boost includes (usually where BOOST_ROOT points to).
  3. BOOST_LIBRARYDIR pointing to your Boost binary directory (lib32-msvc-12.0 for instance).
  4. Boost_ADDITIONAL_VERSIONS having major, minor, and patch versions (separated by space).
  5. (optional) Boost_USE_STATIC_LIBS set to ON if you want to statically link to Boost. (default is OFF)
  6. (optional) Boost_USE_MULTITHREAD set to ON if you want to use Boost multi-threaded libraries. (default is ON)

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"