Equalizer  1.12.0
Parallel Rendering Framework
README.md
1 # Introduction
2 
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.
9 
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/).
13 
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.
16 
17 Technical questions can be posted to the eq-dev Mailing List, or
18 directly to info@equalizergraphics.com.
19 
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.
24 
25 # Features
26 
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.
33 
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
37  recompilation.
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
49 
50 
51 # Known Bugs
52 
53 Please refer to the
54 [github issue tracker](https://github.com/Eyescale/Equalizer/issues) for
55 fixed and open bugs, and to report new bugs.
56 
57 # Building from source
58 
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:
64 
65 * Linux: Ubuntu 14.04, RHEL 6.6 (Makefile, Ninja)
66 * Windows: 7 (Visual Studio 2012)
67 * Mac OS X: 10.8 (Makefile, Ninja)
68 
69 ## Linux, Mac OS X
70 
71  git clone https://github.com/Eyescale/Equalizer.git
72  mkdir Equalizer/build
73  cd Equalizer/build
74  cmake -DINSTALL_PACKAGES=1 ..
75  make
76 
77 ## Windows {#Windows}
78 
79 If `CMake` and `git` are in PATH, run the following batch script to build using
80 Visual Studio 2013:
81 
82  build.bat
83 
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:
89 
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
96  (separated by space).
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`)
101 
102 An example set up would be (typed in Windows command prompt):
103 ~~~
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"
110 ~~~