Welcome to Equalizer 0.5.5, a framework for the development and deployment of parallel, scalable OpenGL applications. Equalizer 0.5.5 introduces pixel compounds using 2D kernels and facilitates window system integration.
Equalizer 0.5.5 is a developer release, representing a stable snapshot of the
development tree after the 0.5 release. Equalizer 0.5.5 can be retrieved by
updating the subversion trunk to revision 2214 (
svn up -r 2214)
or by using:
svn co https://equalizer.svn.sourceforge.net/svnroot/equalizer/tags/release-0.5.5
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.
- Runtime Configurability: An Equalizer application can run on any configuration, from laptops to large scale visualization clusters, without recompilation. The runtime configuration is externalized from the application to a systemwide resource server.
- Runtime Scalability: An Equalizer application can use multiple CPU's, GPU's and computers to scale the rendering performance of a single view.
- Distributed Execution: Equalizer applications can be written to support cluster-based execution. The task of distributing the application data is facilitated by support for versioned, distributed objects.
- Support for Stereo and Immersive Environments: Equalizer supports both active and passive stereo rendering, as well as the head tracking, which is required for immersive Virtual Reality installations.
New in this release
The following features, bug fixes and documentation changes where introduced since the 0.5 release:
- Initial support for 2D pixel compound kernels
- New OSWindow interface to simplify window system integration
eq::util::BitmapFontas a simple helper to draw 2D bitmap fonts
- Added window attributes for accumulation buffer and AA samples
- Automatic 2D and DB load-balancing (initial support)
- Automatic image compression for 'slow' (< 2GBit) connections
- Improved statistics overlay appearance (auto-scaling, compression time)
- Support for orthographic projections
- Improved statistics overlay appearance
- Support for using Paracomp for alpha-blending compositing (eVolve)
- Support for using multiple clients with the netperf benchmark tool
- Statistics Overlay to understand and eliminate bottlenecks in the rendering pipeline
- Support for using Paracomp as a compositing backend, see README.paracomp
- Network-based instead of file-based model distribution in eqPly
- Support for the window swapsync hint on WGL
- Assertions are disabled in release builds
- Switch to CriticalSection for Win32 locks
- Improved overall performance by using atomic operations for reference counted objects
- Improved performance when using non-threaded pipes
- Alpha-blending support in the CPU-based compositor
- Improved performance when using non-threaded pipes
Equalizer 0.5.5 includes various bugfixes over the 0.5 release, including the following:
- 2032631: Nullpointer exception and crash
- 2032643: process-local server object gets not deleted
- 2033860: frameDrawFinish called too early and too often
- 2149563: WGL: Update region is reset by event handler
- 2026837: swapbarrier calls increase with single-buffered windows
- 1997751: defines for EQ_BIT17 - EQ_BIT20 are wrong
- 1996988: AGL reports key press twice
- 1997579: Important WGL key events not reported
- Fixed a big memory leak in the packet handling code, as well as numerous small bug fixes and code cleanups
- 1994798: Compound::getNode null pointer read
- 1981854: AGL: PBuffer with Fullscreen broken
The Programming Guide has been extended to 59 pages. In addition, the following documentation has been added:
OSWindow interface moved window system depend
functionality from the
eq::Window to different subclasses
OSWindow. Applications integrating with their own windowing
code have to implement an
OSWindow containing all the window
system code, and instantiate this
Window::configInitOSWindow. Please refer to the Programming
Guide for a detailed description of the Window System Interface.
OSWindow interface also caused some cleanups in the event
handling. Most notably, the classes
WindowEvent are now unneeded and have been removed. The
former base class
Event is now used in the appropriate places.
namespaces have been renamed to
eq::server, respectively. Application developers are
encouraged to make the necessary changes, but can
EQ_USE_DEPRECATED if these changes are not feasible.
- 2151376: Irregular Pixel kernels do not work
- 2003195: Ortho frustra ignores eye offset
- 2003132: 3-wnd.DB.ds is broken on some ppc machines for eqPly
- 1997583: eqPly: ortho frustum culling broken
- 1959418: DB Compositing fails on MacBook with GMA X3100
- 1854948: eVolve: lighting ignores head transformation
- 1854929: eqPly GLSL shader has artefacts
- 1816670: eVolve: binary swap configs don't work
Equalizer is a cross-platform toolkit, designed to run on any modern operating system, including all Unix variants and the Windows operating system. A compatibility matrix can be found on the Equalizer website.
Equalizer requires at least OpenGL 1.1, but uses newer OpenGL features when available. Version 0.5.0 has been tested on:
Operating System Support
- Linux: Ubuntu 6.10 (x64, i386), RHEL4 (x64, i386)
- Windows: XP with Visual Studio 2005 (i386, x64) and Cygwin (i386)
- Mac OS X: 10.5 (PowerPC, i386)
Window System Support
- X11: Full support for all documented features.
- WGL: Full support for all documented features.
- AGL: Full support for all documented features.
The Programming Guide is available as a hard-copy (0.5.0 only) and online. Equalizer does not yet have an Users Guide. The shipped examples provides a reference for developing or porting applications. The Developer Documentation on the website provides further design documents for specific features. The source code is a last resort for information.