Posted on

OmniMap™ API – Now Open Source

Photo credit: ACES. Thanks, Mike Pohl.

Download from Github

OmniMap’s geometry correction libraries are an easy-to-integrate solution to make real-time OpenGL applications compatible with OmniFocus and other immersive projection environments.

Perspective Projection Mapping Library

Optical and geometric correction techniques must be employed to prevent video projected onto spherical displays from appearing distorted. OmniMap is an API that makes real-time computer graphics applications compatible with OmniFocus projection systems or other custom immersive projection environments that map real-time content onto arbitrary projection surface shapes. Omnimap comes preconfigured for Elumenati’s OmniFocus lenses and OpenDome screens, but arbitrary projections can be specified.

Geometry correction routines are encapsulated in an easy-to-integrate C++ library (C# library wrapper also included). OmniMap implements a “Perspective Projection Mapping” algorithm which works in two steps. First the API renders the virtual environment into offscreen temporary buffers; next, post-rendering calls account for lens optical distortion and screen geometry correction when the image is projected through a fisheye lens onto a curved display surface. All configuration and algorithm options are handled by configuration files and scripts, so changes can be made without recompiling the program. OpenGL and DirectX shaders are leveraged to take full advantage of graphics hardware acceleration.

Paid support available – contact us.

API Features

Open Source License

  • Developer friendly MIT license
  • Use or modify Omnimap in both open and closed source projects
  • No obligation to give code away

Rendering Engine Support

  • OpenGL, DX9, DX10, DX11 (NEW!)
  • C++ api, C# glue file
  • For Unity3D please see Omnity

Advanced Output

  • Hardware Accelerated
  • Vertical and Horizontal Dome Truncation
  • Arbitrary Tilt and off-axis projector positioning
  • Spout single channel and spout cubemap output (NEW!)

Other Features

Github Project Hosting

  • Stay up to date with OmniMap using Github
  • Elumenati will maintain the official branch
  • Developers who wish to contribute back, please contact us

Arbitrary Projection Surfaces

  • Dome of any size or shape
  • Flat walls
  • Cylinders, fisheye caves, custom screen shapes
  • CobraSim Curved Displays (requires latest Cobra True Dimension drivers)

Adjustable Audience Position

  • “Sweet spot” configuration for variable audience locations

32Bit and 64Bit build profiles for Visual Studio

  • Rebuild the project using VS2008 or VS2013
  • Use the DLL anywhere

Multiple Dome Modes

  • Fulldome (180×180)
  • Truncated Dome (180×135)
  • Can define any others

Flexible Render Channels

  • 1,2,3,4,5, or 6 channel geometry correction render channels
  • Off-axis render channels

Lua Scripting

  • Open access to algorithm details if desired through Lua scripts (http://www.lua.org)

Hardware Requirements

  • OpenGL 2.0 compatible NVIDIA™ or ATI™ graphics card
  • Windows platform