Om
A universal framework for multimedia simulation
About

Om is a cross-platform C++ application framework for multimedia simulation.


Features

General
  • Pure C++ API, no dependencies exposed in headers
  • Small number of dependencies
  • Minimal use of standard library, targeted for C++03
  • Supports Windows, Mac OS X, Linux (partial)

Editor
  • Edits all Om data types
  • Simple intuitive design

Graphics
  • Scene management
  • Supports any graphics API (currently only OpenGL)
  • Generic data-driven shader binding system
  • Forward, deferred, and ray tracing renderers
  • Generic post-processing system
  • Skeletal animation

Sound
  • Sound/MIDI device I/O
  • Graph-based sound/MIDI processing
  • Multichannel recording/playback
  • User-defined sound processing modules
  • Internal plugin format, support for external AU plugins. VST/RTAS support planned
  • Reference-quality HRTF implementation.
  • Low-latency dynamic streaming convolution.
  • Sound Formats: Ogg, AIFF, WAVE, FLAC

Acoustics
  • Generic simulation framework supports any sound propagation techique
  • State-of-the-art geometric sound propagation
  • Scales to different requirements (offline, interactive, fast simulation)
  • Source and listener directivity via directional transfer functions (e.g. HRTF)
  • Area sound sources

Physics
  • Custom highly-optimized simulator
  • Standard collision shapes - sphere, cylinder, capsule, box, convex hull, mesh
  • Supports user-defined collision shapes, force fields, constraints

GUI
  • Lightweight GUI system wrapping platform-native widgets
  • Custom GUI system for hardware-rendered widgets
  • Callback delegates (function objects) provide flexible event handling

Applications

Om has been designed to be extremely flexible and can be used for almost any application that requires real-time processing of multimedia data. This includes:
  • Game Engine - Om contains most functionality needed by modern game engines, including graphics rendering, physics simulation, sound simulation and DSP, GUI and input handling.
  • Audio Workstation - Om has advanced sound processing capabilities and supports external plugins (AU (implemented), VST (support coming)), plus an internal plugin format (SoundFilter). The DSP system supports directed acyclic graphs of audio processing components and can be used for both recording and live-performance applications.