1 / 11

introduction to omegalib and omicron

introduction to omegalib and omicron. Alessandro Febretti Electronic Visualization Lab – University of Illinois at Chicago. omicron vs omegalib. omicronConnector.h. Input device. Tcp / Udp. omicron input server. user application. Input device. omicron: input management library

ernst
Download Presentation

introduction to omegalib and omicron

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. introduction to omegalib and omicron Alessandro Febretti Electronic Visualization Lab – University of Illinois at Chicago

  2. omicron vsomegalib omicronConnector.h Input device Tcp / Udp omicron input server user application Input device • omicron: input management library • Can be integrated directly as library or used as input server

  3. omicronConnector example #include <connector/omicronConnectorClient.h> using namespaceomicronConnector; int main(intargc, char** argv) { OmicronConnectorClient<ConnectorListener> client; client.connect("127.0.0.1"); while(true) client.poll(); } classConnectorListener { public: static voidonEvent(constEventData& e) { printf(“Received event!\n”); } };

  4. omicron events • omicron events designed as generic input data containers • information about event source • service class (wand, gamepad, pointer, ui) • Services of same class have similar event generation semantics • event type, position, orientation, binary flags • variable length extra data • can be float array, vector3 array, generic char* • more information: http://code.google.com/p/omicron-sdk/wiki/EventReference

  5. omicron event services • event service = source of omicron events • some built-in event services: • VRPN-supported trackers • Optitrack native • XBox360, PS3, Wiimote controllers • PQLabs touch overlays • Kinect skeletons • ThinkGear • iPad app (prototype) • SAGE Pointer

  6. omicron utilities • omicron also offers utility APIs for app developers (used by omegalib) • config file support (libconfig) • xml reading/writing (tinyxml) • multithreading (tinythreads) • tcp client/server API (asio) • math library (Eigen)

  7. user application graphics frontend omegalib core omicron Equalizer VR toolkit built on top of omicron (input) and Equalizer (display)

  8. omegalib core = support backend for different graphics frontends Currently supported frontends: OpenSceneGraph Vtk Plain OpenGL

  9. some legacy applications can be ported to omegalib (https://code.google.com/p/omegadoom/)

  10. Research direction: multi-application VR • run multiple applications inside separate viewports / windows (a la SAGE) • Allow applications to switch to ‘fullscreen mode’ and take over entire display • Challenges: • Load balancing (equalizer helps a bit) • Interaction

  11. That’s all folks! • Links: • omicron: http://code.google.com/p/omicron-sdk/ • omegalib: https://code.google.com/p/omegalib/ • Equalizer: http://www.equalizergraphics.com/

More Related