Www.evl.uic.edu omegalib. www.evl.uic.edu VR system development Heterogeneous applications – Need custom software/library stack depending on scenario.

Slides:



Advertisements
Similar presentations
National Alliance for Medical Image Computing Slicer3 Architecture.
Advertisements

Android architecture overview
Synera The Software That Thinks Like You Do Synera Technical Presentation.
COEN 445 Communication Networks and Protocols Lab 4
1 Creating a network app Write programs that  run on different end systems and  communicate over a network.  e.g., Web: Web server software communicates.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Python Henry Armstrong Andy Burras Everett Hite. History First released in 1991 by Guido van Rossum Designed around a philosophy which emphasized readability.
1 Overview r Socket programming with TCP r Socket programming with UDP r Building a Web server.
Client Server Model The client machine (or the client process) makes the request for some resource or service, and the server machine (the server process)
2: Application Layer1 Socket Programming. 2: Application Layer2 Socket-programming using TCP Socket: a door between application process and end- end-transport.
Functional Simulation Overview1 OpenTV PC Simulator.
Welcome to CIS 235 Computer Networks Fall, 2007 Prof Peterson.
Victor Serbo, SLAC30 September 2004, Interlaken, Switzerland JASSimApp plugin for JAS3: Interactive Geant4 GUI Serbo, Victor (SLAC) - presenter Donszelmann,
LAMAD Symbian Qt install and deploy Installing Qt SDK and deploying Qt applications.
Getting Started Example ICS2O curriculum
Architecture and Usages of Accelio 2014 OFA Developer Workshop Sunday, March 30 - Wednesday, April 2, 2014 Monterey CA Eyal Salomon Mellanox Technologies.
1 Ch 3. Network Programming. 2 Network Programming (1)  Network allows arbitrary applications to communicate E.g., client-server computing such as WEB.
2: Application Layer1 Socket programming Socket API r introduced in BSD4.1 UNIX, 1981 r explicitly created, used, released by apps r client/server paradigm.
Yahoo! User Interface (YUI) Library Natly Mekdara.
Distributed medical information system. O. Belov, I. Belova National Research Centre for Audiology and Hearing Rehabilitation.
Grail Interface and Code Ramón Creager. What is Grail? Like the Roman god Janus, Grail provides two faces to two different worlds: From the outside, a.
Together, We make the difference. Create a Working Linker with the MCLinker framework Luba Tang 2013/02/24.
Introduction to OpenGL and GLUT GLUT. What is OpenGL? An application programming interface (API) A (low-level) Graphics rendering API Generate high-quality.
FLTK Tutorial.
GumTree Feature Overview Tony Lam Data Acquisition Team Bragg Institute eScience Workshop 2006.
1 Introduction to C# Programming Console applications No visual components Only text output Two types MS-DOS prompt - Used in Windows 95/98/ME Command.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Programming with OpenGL Part 1: Background Ed Angel Professor of Computer Science, Electrical.
CD2012 Principles of Interactive Graphics Lecture 01 Introduction Abir Hussain (Rome: 6.33,Tel , Web:
Introduction to GL Geb Thomas. Example Code int main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode ( GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
UDT as an Alternative Transport Protocol for GridFTP Raj Kettimuthu Argonne National Laboratory The University of Chicago.
Nguyen 1 Kate T Nguyen Old Dominion University October 26, 2004 AE 684—Fall 2004 The Portable CAVE Project.
Windows Network Programming ms-help://MS.MSDNQTR.2004JAN.1033/winsock/winsock/windows_sockets_start_page_2.htm 井民全.
File ▪ File – Unit of logical storage – Aid in manipulating exact sector of file data ▪ Abstract view of secondary physical storage devices ▪ Without files.
FLTK. Objectives Install and Use FLTK Widgets ◦Callbacks Handling event ◦System events ◦Mouse events ◦Keyboard events.
1 Chapter 12 GUI C/C++ Language Programming Wanxiang Che.
NA-MIC National Alliance for Medical Image Computing ParaView Server Manager Berk Geveci Andy Cedilnik.
1 Introduction to C# Programming Console applications No visual components Only text output Two types MS-DOS prompt - Used in Windows 95/98/ME Command.
Laboratory - 4.  Threading Concept  Threading in.NET  Multi-Threaded Socket  Example.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
CS-1030 Dr. Mark L. Hornick 1 Java Review Interactive.
Concrete Architecture of Mozilla Firefox (version ) Iris Lai Jared Haines John,Chun-Hung,Chiu Josh Fairhead July 06, 2007.
Windows Programming, C.-S. Shieh, KUAS EC, Chapter 0 Overview.
introduction to omegalib and omicron Alessandro Febretti Electronic Visualization Lab – University of Illinois at Chicago.
GEOL882.3 Seismic Processing Systems Objective Processing Systems SEGY and similar file formats General structure of several systems.
Cs423-cotter1 Windows Operating Environment. cs423-cotter2 Windows Operating Environment 32 bit operating environment – Windows XP Microsoft Visual Studio.net,.net2005,
MMDAQ Content – Overview – Case study – adding support for VMM1 chips – Drawings (data flow, concurrency, error reporting, scalability, monitoring) 13.
“Warehouse” Monitoring Software Infrastructure Craig Steffen, NCSA SSS Meeting June 5, Argonne, Illinois.
Ch. 2 Protocol Architecture. 2.1 The Need for a Protocol Architecture Same set of layered functions need to exist in the two communicating systems. Key.
1 The World Wide Web Architectural Overview Static Web Documents Dynamic Web Documents HTTP – The HyperText Transfer Protocol Performance Enhancements.
VIRTUAL SERVERS Chapter 7. 2 OVERVIEW Exchange Server 2003 virtual servers Virtual servers in a clustering environment Creating additional virtual servers.
July FLTK The Fast Light Toolkit • A C++ graphical user interface toolkit • Can be used under X, Windows, MacOS • Supports OpenGL • Provides: – Interactive.
Computer Graphics -practical- Lecture 6. (visual c++) open gl library To use open GL with VC++ we add these files:- 1)Glut.h C:\program files\ Microsoft.
LAB302 Image Enabling Host Applications. Introduction What is the purpose of this class? What will we learn? What will you walk away with?
1. 2 Qt Toolkit ● C++ toolkit for cross-platform GUI application development – GUI functions (GUI = graphical user interface) – Data access components,
Program Execution in Linux David Ferry, Chris Gill CSE 522S - Advanced Operating Systems Washington University in St. Louis St. Louis, MO
Pseudocode FORTRAN (original) INPUT number
Appendix 1 - Packages Jim Fawcett copyright (c)
Calicoes Calice OnlinE System Frédéric Magniette
Program Execution in Linux
CMPE419 Mobile Application Development
Web App vs Mobile App.
Computer Organization & Compilation Process
The Designer.
Socket Programming 2: Application Layer.
Computer Organization & Compilation Process
Functions Reasons Concepts Passing arguments to a function
C call R Using .R file in C T. B. Chen in NCTU 2019/5/29.
CMPE419 Mobile Application Development
SPL – PS1 Introduction to C++.
Just Enough SSIS Scripting to be Dangerous.
Presentation transcript:

omegalib

VR system development Heterogeneous applications – Need custom software/library stack depending on scenario electronic visualization laboratory – university of illinois at chicago

What is omegalib Design objectives: – Build / run out of the box – Support clustered and multi-gpu systems – works

Concept Abstraction layer Display system Event services Back-ends Front-ends Equalizer Controllers Kinect VRPN devices … … Glut Vtk Osg … …

Library structure: omicron omicron – – Event Services – Config files, Xml, Threading, Math – omicronConnector simplify integration of input support into third party C++ code. Header only: Just need to include one single header Streamlined binary event format

omicronConnector sample #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”); } };

New Binary event format Old protocol available through LegacyNetService, legacy-oinputserver Same Handshake Same Transport

Library structure: omega omega – Display system – Multi-Gpu resource management – Basic scenegraph – Python scripting omegaToolkit – Obj loaders, gui widgets, other utilities omegaOsg – Osg integration omegaVtk – Vtk integration (experimentl)

Samples Ohello (openGl) Meshviewer (obj loader) Cyclops (osg) Nightfield (OpenCl) Vtk viewer

Tcp connection flow TcpServer start – accept doCreateConnection – createConnection » > – push connection to clients acceptor->asyncAccept handleAccept – > poll – > TcpConnection [new] doHandleConnected – set state to ConnectionOpen handleConnected poll – is state = open? is data available? – handleData is socket closed? – handleClosed