3 Welcome to Equalizer, the standard middleware to create and deploy parallel,
4 scalable OpenGL applications. It enables applications to benefit from multiple
5 graphics cards, processors and computers to scale the rendering performance,
6 visual quality and display size. An Equalizer application runs unmodified on any
7 visualization system, from a simple workstation to large scale graphics
8 clusters, multi-GPU workstations and Virtual Reality installations.
10 The Equalizer [Programming and User Guide](https://github.com/Eyescale/EqDocs/raw/master/Developer/ProgrammingGuide/paper.pdf) covers the basics of Equalizer
11 programming. The API documentation can be found on
12 [github](http://eyescale.github.com/).
14 As with any open source project, the available source code, in particular the
15 shipped examples provide a reference for developing or porting applications.
17 Technical questions can be posted to the eq-dev Mailing List, or
18 directly to info@equalizergraphics.com.
20 Commercial support, custom software development and porting services are
21 available from [Eyescale](http://www.eyescale.ch). Please contact
22 [info@eyescale.ch](mailto:info@eyescale.ch?subject=Equalizer%20support)
23 for further information.
27 Equalizer provides the following major features to facilitate the development
28 and deployment of scalable OpenGL applications. A
29 [detailed feature list](http://www.equalizergraphics.com/features.html) can be
30 found on the [Equalizer website](http://www.equalizergraphics.com). The
31 [change log](@ref Changelog) lists features, improvements and bug
32 fixes introduced in each version.
34 * Runtime Configurability: An Equalizer application is configured
35 automatically or manually at runtime and can be deployed on laptops,
36 multi-GPU workstations and large-scale visualization clusters without
38 * Runtime Scalability: An Equalizer application can benefit from
39 multiple graphics cards, processors and computers to scale rendering
40 performance, visual quality and display size.
41 * Distributed Execution: Equalizer applications can be written to
42 support cluster-based execution. Equalizer uses the
43 [Collage network library](http://www.libcollage.net), a cross-platform
44 C++ library for building heterogenous, distributed applications.
45 * Support for Stereo and Immersive Environments: Equalizer supports
46 stereo rendering head tracking, head-mounted displays and other
47 advanced features for immersive Virtual Reality installations.
48 * Detailed @ref Changelog
54 [github issue tracker](https://github.com/Eyescale/Equalizer/issues) for
55 fixed and open bugs, and to report new bugs.
57 # Building from source
59 Equalizer is a cross-platform library, designed to run on any modern operating
60 system, including all Unix variants and the Windows operating system. Equalizer
61 requires at least [OpenGL 1.1](http://www.opengl.org), but uses newer OpenGL
62 features when available. Equalizer uses CMake to create a platform-specific
63 build environment. The following platforms and build environments are tested:
65 * Linux: Ubuntu 14.04, RHEL 6.6 (Makefile, Ninja)
66 * Windows: 7 (Visual Studio 2012)
67 * Mac OS X: 10.8 (Makefile, Ninja)
71 git clone https://github.com/Eyescale/Equalizer.git
74 cmake -DINSTALL_PACKAGES=1 ..
79 If `CMake` and `git` are in PATH, run the following batch script to build using
84 ## A note about BOOST + CMake on Windows
85 If your build fails with a `Could NOT find Boost` message, you may have a bad
86 environment setup for `Boost` and `CMake`. To remedy this, `CMake` requires you
87 to properly hint it to find your `Boost` distribution. Make sure you have the
88 following variables set up:
90 1. `BOOST_ROOT` pointing to your Boost root directory.
91 2. `BOOST_INCLUDEDIR` pointing to your Boost includes (usually where
92 `BOOST_ROOT` points to).
93 3. `BOOST_LIBRARYDIR` pointing to your Boost binary directory
94 (`lib32-msvc-12.0` for instance).
95 4. `Boost_ADDITIONAL_VERSIONS` having major, minor, and patch versions
97 5. *(optional)* `Boost_USE_STATIC_LIBS` set to `ON` if you want to statically
98 link to `Boost`. (default is `OFF`)
99 6. *(optional)* `Boost_USE_MULTITHREAD` set to `ON` if you want to use `Boost`
100 multi-threaded libraries. (default is `ON`)
102 An example set up would be (typed in Windows command prompt):
104 setx `BOOST_ROOT` "F:\boost_1_57_0\"
105 setx `BOOST_INCLUDEDIR` "F:\boost_1_57_0\"
106 setx `BOOST_LIBRARYDIR` "F:\boost_1_57_0\lib32-msvc-12.0\"
107 setx `Boost_ADDITIONAL_VERSIONS` "1.57 1.57.0"
108 setx `Boost_USE_STATIC_LIBS` "ON"
109 setx `Boost_USE_MULTITHREAD` "ON"