GithubHelp home page GithubHelp logo

omicron's Introduction

logo omicron

=======

The omicron SDK is a library providing access to a variety of input devices, mostly used in immersive installations and stereo display systems.

Some of the devices currently supported by omicron are:

  • All motion capture systems supporting the VRPN protocol
  • NaturalPoint trackers (TrackIR, Optitrack)
  • Wii controllers
  • Xbox 360 controllers
  • Microsoft Kinect (multiple Kinects supported. omicron also offers some functions for Multi-kinect transform calibration)
  • SAGE pointer connections
  • PQLabs multitouch overlays
  • iPad touch interfaces and dynamic GUIs through the custom Porthole protocol
  • Thinkgear brainwave interfaces

omicron abstracts input using modular event services, each providing access to a specific input device. Events can be easily streamed over the network using the omicron connector API. Also, Event services can be chained together to provide advanced functionality.

In addition to event services, omicron provides additional utility APIs to simplify the developement of the non-graphics part of VR applications. These APIs are mostly lightweight wrappers on top of well established open source libraries. omicron includes:

omicron input support can be integrated into C++ applications as a static library, or it can be run as a standalone input server, streaming input data to multiple applications. Omicron comes with client-side interfaces for:

omicron's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

omicron's Issues

OpenNI make error: 'omicron/Color.h' file not found

Omicron build fails when OMICRON_USE_OPENNI is set to true in cmake config.

..../omicron/include/omicron/OpenNIService.h:31:10: fatal error: 'omicron/Color.h' file not found

include "omicron/Color.h"

This problem is apparent in Ubuntu 12.04 and OSX 10.9.

Color.h & Lock.h no longer exist in this commit.

AssetCache file update command

Add support for launching a custom command after a file has been updated (server-side). The command can be specified in the cache server config file.

  • port oluaunch function from omegalib to omicron
  • add custom command launch to asset cache service

notify @renambot-uic

SAGE Touch Gestures

Port existing C++ SAGE touch to Omicron's TouchGestureManager.

Gestures:
Single touch drag DONE 7/8/13
Single touch click DONE 7/8/13
Single touch double click DONE
Two-touch zoom DONE 8/27/13
Big touch send to back DONE
Five finger close DONE 7/17/13
Five finger drag DONE 7/17/13

OmicronAPI connectToTracker() fail check

OmicronAPI (Java) connectToTracker() should return if the connection was successful or not. Currently just prints an exception message and continues.

Exception should also print additional information like the IP and port used in the failed attempt.

AssetCache - Zero byte files and forcing overwrite

If a client attempts to load a file with the wrong client path, ocachesrv will still attempt to copy it, resulting in a zero byte file generated on the server. This creates a file that currently cannot be replaced outside of deleting the file manually.

In conjunction with adding a method to force overwriting existing files, zero byte files should probably be automatically re-written, or not generated at all.

SAGE 6DOF Wand Pointer

Port the Spring '13 human augmentics project to a new omicron application (or merge with the existing SAGEInputServer application.

Sound API move

Sound classes should not be part of the omicron core, since omicron is an input / event service toolkit.

To keep current code working with minor modification, possible reasonable placement of the Sound API would be in the omegaToolkit library.

SoundAPI - Volume Rolloff

Currently implemented as a helper function in Python, use the existing Sound class distance functions to control the volume envelope of sound based on distance from the listener.

Add the option of a linear or logarithmic rolloff.

Feature Request: OSX Support

I have been using omicron on Ubuntu 12.04 with OpenNI and Kinect for Xbox. It works great! Especially omicronConnectorClient and its ease of integration.

It will be awesome if omicron has OSX support! ๐Ÿ˜„

As stated in the wiki, omicron builds on OSX.
But results in a segmentation fault when I start an app like oinputserver

Make argument helper more robust

The libconfig::ArgumentHelper interface is extremely fragile and error prone. It silently ignores and consumes unrecognised command line options. Please just use boost::program_options internally.

WIn64 support

Support windows 64bit builds. As a first pass, several services will be disabled (VRPN, LegacyDirectX, maybe XInput)

PQService for Linux

Hi,
OMICRON_USE_PQLABS seems to work only for WIN32. Is it possible to run it on Linux? I found only some dll's in /external

Intel Perceptual Computing SDK support

Add finger tracking data to Omicron. Possibly integrate with Kinect depth camera.

7/1 - Proceeding with initial analysis of SDK. Gesture tracking as well as facial recognition, speech recognition, and speech synthesis shows potential.

Omicron build fails when Kinect SDK is installed

From Simon Osborn:
OS: Win7
Toolkit: Visual Studio 2012

D:\OmegaLib\source\omicron\src\omicron\omicron\ServiceManager.cpp(164): error C2653: 'MSKinectService' : is not a class or namespace name [D:\OmegaLib\build\omicron\omicron\src\omicron\omicron.vcxproj]
4>D:\OmegaLib\source\omicron\src\omicron\omicron\ServiceManager.cpp(164): error C2065: 'New' : undeclared identifier [D:\OmegaLib\build\omicron\omicron\src\omicron\omicron.vcxproj]

For what it's worth I do have the Kinect API installed:
4> Kinect for Windows SDK v1.x found

I think the issue is that, if you have a kinect SDK installed, omicron seems to automatically try to use it to enable kinect support, although looking at the code kinect should still need to be enabled manually. There may also be some error in the code that prevents it from compiling in VS2012? Note that this has been tested on the omicron version used by omegalib, which could be out of date, maybe git updating the submodule is enough to fix this?

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.