Git Product home page Git Product logo

m0bl0 / equalizer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from eyescale/equalizer

1.0 1.0 0.0 55.55 MB

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 workstation to large scale graphics clusters, multi-GPU workstations and Virtual Reality installations.

Home Page: http://www.equalizergraphics.com

License: Other

C 8.21% C++ 90.55% Shell 0.01% Objective-C 0.84% Perl 0.01% Python 0.40%

equalizer's Introduction

1. Introduction

Welcome to Equalizer, the standard middleware to create and deploy parallel, scalable OpenGL applications. This release introduces major new features, most notably asynchronous readbacks, region of interest and thread affinity for increased performance during scalable rendering.

Equalizer 1.4 is a feature release extending the 1.0 API, distilling over seven years of development and decades of experience into a feature-rich, high-performance and mature parallel rendering framework and an object- oriented high-level network library. It is intended for all application developers creating parallel, interactive OpenGL applications. Equalizer 1.4 can be retrieved by downloading the source code or one of the precompiled packages.

1.1. 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.

  • 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 furnishes and 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.

2. New in this release

Equalizer 1.4 contains the following features, enhancements, bug fixes and documentation changes:

2.1. New Features

2.2. Enhancements

2.3. Optimizations

  • Multi-GPU NVidia optimization
  • load_equalizer: split along longest axis in 2D mode
  • InfiniBand RDMA: significant performance increase using a different underlying implementation

2.4. Examples

  • eqPly: Add command line option to disable region of interest
  • eqPly: Parallel kd-tree construction when using gcc 4.4 or later
  • eqPly: runtime-changeable model unit scaling
  • eqPly: Create all VBOs/display lists during the first frame

2.5. Tools

  • eqPlyConverter: New offline tool to generate binary cache for eqPly

2.6. Documentation

The following documentation has been added or substantially improved since the last release:

2.7. Bug Fixes

Equalizer 1.4 includes various bugfixes over the 1.2.1 release, including the following:

  • 149: Channel::configInit initID always 0
  • 147: Repeated Canvas::useLayout OFF/ON causes violation of DRAW_SYNC thread ordering
  • 139: Tile compound readback broken
  • 120: Async readback deallocation
  • 118: OS X: Async readback doesn't work
  • 137: 1-window.DFR broken
  • 136: compositor assertion when using custom frames
  • 135: Command line option --eq-layout broken
  • 131: seqPly --help launches application
  • 127: Problem with getdomainname() in SocketConnection::listen()
  • 124: Upload plugins are not freed
  • 121: Packaging: netperf conflicts with other packages
  • 117: Race with async channel tasks

2.8. Known Bugs

The following bugs were known at release time. Please file a Bug Report if you find any other issue with this release.

  • 138: Windows: PBO error when rendering
  • 78: AGL: assertion on interaction with multiple GPUs
  • 77: 7-window.DB.PIXEL.eqc broken
  • 76: 7-window.DPLEX.2D.lb.eqc does not load-balance
  • 49: eqPixelBench crash with double free
  • 19: zoom readback with FBO
  • 18: zoom: depth readback does not work
  • 17: AGL: Window close does not work

3. About

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 1.4 has been tested on:

3.1. Operating System Support

Equalizer uses CMake to create a platform-specific build environment. The following platforms and build environments are tested:

  • Linux: Ubuntu 11.10, 12.04, RHEL 6.1 (Makefile, i386, x64)
  • Windows: 7 (Visual Studio 2008, i386, x64)
  • Mac OS X: 10.7 (Makefile, XCode, i386, x64)

3.2. Window System Support

  • X11: Full support for all documented features
  • WGL: Full support for all documented features
  • AGL: Full support for all documented features

3.3. Documentation

The Programming and User Guide is available as a hard-copy and online. The API documentation can be found on the Equalizer website.

As with any open source project, the available source code, in particular the shipped examples provide a reference for developing or porting applications. The Developer Documentation on the website provides further design documents for specific features. XCode users can download a Documentation Set.

3.4. Support

Technical questions can be posted to the ` Developer Mailing List`_, or directly to ` [email protected]`_.

Commercial support, custom software development and porting services are available from Eyescale. Please contact [email protected] for further information.

4. Errata

equalizer's People

Contributors

eile avatar cstalder avatar tribal-tec avatar dardok avatar delyas avatar purplekarrot avatar marwan-abdellah avatar maxmah avatar samsellem avatar dulley avatar probert73 avatar wueest avatar m0bl0 avatar rickarkin avatar mjdsys avatar oliver-e avatar yarda avatar marlam avatar michaelvlad avatar shutter avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.