Photo credit: ACES. Thanks, Mike Pohl.
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