Reference Documentation
The Programming and User Guide is the official reference for the Equalizer parallel rendering framework, similar to the OpenGL Red Book. You can obtain it using one of the following options:
- As a direct download, after filling out our online survey. This survey helps us to understand where and how Equalizer is used, and to set priorities for the development.
- As a full-color paperback book from CreateSpace.
The API Documentation is the reference guide for the official programming interface, similar to the OpenGL Blue Book.
Generic Information
- Configuration explains automatic and static configuration.
- File Format is the reference documentation for the configuration files.
- Parallel Graphics Programming is a presentation explaining the concepts and scope of the Equalizer API, pdf or html.
- Equalizer for GLUT Developers provides a mapping of commonly used GLUT functions to their Equalizer counterparts
- Environment Variables lists the variables used by Equalizer.
- Task Methods lists all task methods ('callbacks') and explains their purpose.
- Config Initialization Sequence shows the order in which the init and exit task methods are executed during initialization and exit.
- Distributed Objects provides an overview on how to implement static and versioned objects, which can be instantiated on multiple nodes.
- codingStyle.png illustrates the C++ coding style used in Equalizer, to ensure a consistent appearance for better readability.
- Threads is a description of the individual threads in Equalizer and explains some thread synchronization concepts.
Design Documentation
The design documentation is technical documentation, specifications or other information, typically for a specific, isolated feature. It is intended for software developers, and generally not understandable without a technical background of Equalizer. They are often moving targets, and the actual implementation will diverge from the version-specific specification over time.
The documents are listed in the version they were last updated. For the version they were first implemented please refer to the Feature List.
Github 'master' version
This information contains specification for features currently under development in the subversion source code repository. Most likely, these features will be release in the next version.
Version 1.4
- 1.4 API documentation
- Asynchronous compositing optimizing pixel data downloads and uploads.
- Region of interest optimization for scalable rendering and load-balancing.
- Feature list on github.
Version 1.2
- 1.2 API documentation
- Tile compounds using a pull-based task distribution for volume rendering and interactive raytracing.
Version 1.0
- 1.0-beta API documentation
- 1.0-alpha API documentation
- Error handling structures error reporting, mostly during initialization.
- Interruptible rendering allows applications to stop rendering on all pending frames.
- Rendering capabilities allow application-dependent deactivation of channels.
- Administrative API for runtime configuration changes.
- Runtime stereo switching allows to change the rendering between mono and stereo at runtime, with different scalability compounds.
- Failure tolerance during initialization and runtime.
- Independent frame loops for different views.
Version 0.9.1
- 0.9.1 API documentation
- Subpixel Compound for full-scene anti-aliasing (FSAA) or depth-of-field (DOF).
- Tile and Range Boundaries for load-balancing.
- Data distribution and data updates using reliable UDP multicast.
- CUDA and OpenCL integration.
Version 0.9
- 0.9 API documentation
- View Equalizer for cross-segment load balancing.
- Hardware swapbarrier for synchronization of multipipe displays.
- Compression Plugin API is the official interface to create binary plugins for data compression.
- Layout API provides a way to configure projection surfaces with logical layouts and multiple observers.
- Dynamic Frame Resolution (DFR) provides a constant framerate at the expense of visual quality.
- Floating-point pipeline adds support for float16 and float32 visuals.
Version 0.6
- Statistics Overlay explains the statistics overlay.
Version 0.5
- PBuffer Support adds the capability for off-screen rendering buffers.
- OpenGL Extension Handling explains how GLEW is used for OpenGL extensions.
- Pixel Compounds divide the screen-space column-wise to all sources, and therefore have a near-perfect load-balancing for fill-rate-bound applications.
- Event Handling explains the event handling model and implementation.
Version 0.4
- Volume Rendering application overview.
- Fixed Aspect Ratio adds support for keeping the aspect ratio during channel resizing.
- Data Transmission provides a simple way to send data to all render client nodes.
- Transparency and sort-last (DB) compounds explores the options for better transparent geometry support.
- Nonthreaded Rendering allows an easier porting path for existing, non-threadsafe software.
Version 0.3
- Anaglyphic Stereo specifies the implementation and changes for anaglyphic stereo rendering.
- InfiniBand describes how to setup and use IB hardware with Equalizer.
- Resident Render Clients describes how to implement and configure pre-started, resident render client nodes.
- Depth Buffer Pixel Transfer Optimization using the GL_EXT_packed_depth_stencil or GL_NV_packed_depth_stencil extension.
- Standalone Application Support allows applications to run without a resource server.
- Node Connection Setup explains the initial connection handshake between two nodes.
- OpenGL Object Manager allows the allocation and sharing of OpenGL objects, e.g., textures, in multipipe applications.
Version 0.2
- Compounds is the initial design documentation on the API and config file interface for the configuration of scalable rendering.
- Compound frames details the inputframe and outputframe logics .
- Stereo and Head Tracking gives an overview how stereo rendering, head tracking and eye compounds are implemented.
- Dynamic Near and Far Plane Support explains the API for adjusting the near and far plane from the channel's rendering methods.
- Image Compression is used to compress output frames for network transfers.
- Statistics Interface is the initial design documentation on the API and config file interface for statistics gathering.
Version 0.1
- Packet Handling explains the basic concept and mechanism of the Equalizer networking layer.