Www.evl.uic.edu introduction to omegalib and omicron Alessandro Febretti Electronic Visualization Lab – University of Illinois at Chicago.

Slides:



Advertisements
Similar presentations
Programming with OpenGL - Getting started - Hanyang University Han Jae-Hyek.
Advertisements

CPSC 441 TUTORIAL – JANUARY 16, 2012 TA: MARYAM ELAHI INTRODUCTION TO C.
Threads Relation to processes Threads exist as subsets of processes Threads share memory and state information within a process Switching between threads.
Chapter 2: Graphics Programming
Location based social networking on Android phones – integrated with Facebook. Simple and easy to use.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Programming with OpenGL Part 1: Background Ed Angel Professor of Computer Science, Electrical.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Ch 4: Threads Dr. Mohamed Hefeeda.
Programming with OpenGL Part 1: Background Mohan Sridharan Based on slides created by Edward Angel CS4395: Computer Graphics 1.
Based on slides created by Edward Angel
Hardware (how they work)
Victor Serbo, SLAC30 September 2004, Interlaken, Switzerland JASSimApp plugin for JAS3: Interactive Geant4 GUI Serbo, Victor (SLAC) - presenter Donszelmann,
Command line arguments. – main can take two arguments conventionally called argc and argv. – Information regarding command line arguments are passed to.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
An Introduction to C Programming Geb Thomas. Learning Objectives Learn how to write and compile a C program Learn what C libraries are Understand the.
© 2010 UEI, Inc. All Rights Reserved UEIPAC HMI.
Using Graphics Libraries Lecture 3 Mon, Sep 1, 2003.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
1 Ch 3. Network Programming. 2 Network Programming (1)  Network allows arbitrary applications to communicate E.g., client-server computing such as WEB.
July, 2007 GCB SAGE workshop SAGE Development. July, 2007 GCB SAGE workshop Architecture … Free Space manager provides central control between apps, UI.
Introduction to OpenGL and GLUT GLUT. What is OpenGL? An application programming interface (API) A (low-level) Graphics rendering API Generate high-quality.
Introduction to Threads CS240 Programming in C. Introduction to Threads A thread is a path execution By default, a C/C++ program has one thread called.
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
CS 480/680 Computer Graphics Programming with Open GL Part 1: Background Dr. Frederick C Harris, Jr. Fall 2011.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
1Computer Graphics Input and Interaction Lecture 8 John Shearer Culture Lab – space 2
Programming with OpenGL Part 1: Background
Computer Graphics I, Fall 2010 Input and Interaction.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Programming with OpenGL Part 1: Background Ed Angel Professor of Computer Science, Electrical.
Processes and Threads CS550 Operating Systems. Processes and Threads These exist only at execution time They have fast state changes -> in memory and.
omegalib. VR system development Heterogeneous applications – Need custom software/library stack depending on scenario.
AVS/Express and VisIt Training NERSC Users meeting June PPPL Cristina Siegerist NERSC/LBNL Visualization group June 13, 2006.
Farcry Not just a game anymore…. What is Farcry?  Farcry is a Content Management System (CMS)  It is designed to separate the jobs of site creation/design.
ITEC 320 C++ Examples.
CSE S. Tanimoto Java Introduction 1 Java A Programming Language for Web-based Computing with Graphics.
© 2011 Autodesk Moving from Desktop to Cloud Albert Szilvasy Software Architect, AutoCAD Engineering Team.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Programming with OpenGL Part 1: Background Ed Angel Professor Emeritus.
Introduction to Computer Graphics 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 711,  ex 2271 
C++ Lecture 1 Friday, 4 July History of C++ l Built on top of C l C was developed in early 70s from B and BCPL l Object oriented programming paradigm.
Introduction to OpenGL and GLUT. What’s OpenGL? An Application Programming Interface (API) A low-level graphics programming API – Contains over 250 functions.
1 Command-Line Processing In many operating systems, command-line options are allowed to input parameters to the program SomeProgram Param1 Param2 Param3.
1 Input and Interaction. 2 Objectives Introduce the basic input devices ­Physical Devices ­Logical Devices ­Input Modes Event-driven input Introduce double.
A Collaborative Platform Based on SAGE Javier Delgado.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
Wiimote/Kinect Lab Midterm Update Senior Design December 2011, Group 16 Adviser: Dr. Tom Daniels Brenton Hankins Rick Hanton Harsh Goel Jeff Kramer.
Client/Server Socket Programming Project
July Doxygen A Code Documentation System Doxygen generates documentation directly from the structure and comments in the code –Browsable HTML documentation.
NoufNaief.net TA: Nouf Al-harbi.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Programming with OpenGL Part 2: Complete Programs Ed Angel Professor.
Cryptography.
Cs423-cotter1 Windows Operating Environment. cs423-cotter2 Windows Operating Environment 32 bit operating environment – Windows XP Microsoft Visual Studio.net,.net2005,
Drilling Visualisation API. Application / API One main desktop application Possibility to switch to VR mode (wand + head tracking + stereo) Possibility.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Visualization Programming: “Libraries” and “Toolkits” Class visualization resources CSCI 6361.
The DCS Databases Peter Chochula. 31/05/2005Peter Chochula 2 Outline PVSS basics (boring topic but useful if one wants to understand the DCS data flow)
C Programming Day 2. 2 Copyright © 2005, Infosys Technologies Ltd ER/CORP/CRS/LA07/003 Version No. 1.0 Union –mechanism to create user defined data types.
丁建文 國立高雄應用科大資管系副教授 兼任計網中心軟體發展組組長 跨平台行動應用軟體開發技術 : HTML5 & Mobile JavaScript Framework 暨南大學.
CISC2200 Threads Fall 09. Process  We learn the concept of process  A program in execution  A process owns some resources  A process executes a program.
July FLTK The Fast Light Toolkit • A C++ graphical user interface toolkit • Can be used under X, Windows, MacOS • Supports OpenGL • Provides: – Interactive.
CSE S. Tanimoto Java Introduction 1 Java A Programming Language for Web-based Computing.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Introduction to threads
Mobile Application Development with MeeGo™ - Touch Apps & UI Design
Programming with OpenGL Part 1: Background
A Programming Language for Web-based Computing with Graphics
Agenda Make Utility Command Line Arguments in Unix
.NET and .NET Core 7. XAML Pan Wuming 2017.
Introduction to Computer Graphics with WebGL
Programming with OpenGL Part 1: Background
Introduction to Computer Graphics with WebGL
Programming with OpenGL Part 1: Background
Presentation transcript:

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

omicron vs omegalib omicron: input management library – Can be integrated directly as library or used as input server Input device omicron input server user application omicronConnector.h Tcp / Udp

omicronConnector example #include using namespace omicronConnector; int main(int argc, char** argv) { OmicronConnectorClient client; client.connect(" "); while(true) client.poll(); } class ConnectorListener { public: static void onEvent(const EventData& e) { printf(“Received event!\n”); } };

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:

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

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)

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

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

some legacy applications can be ported to omegalib (

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

That’s all folks! Links: – omicron: – omegalib: – Equalizer: