Development of Multiplatform, VR Applications Pablo Figueroa 1, Pierre Boulanger 1, H. J. Hoover 1, Mark Green 2, Robyn Taylor 1 1.University of Alberta.

Slides:



Advertisements
Similar presentations
Chapter 3: Software Basics Section I: Preparing to Use Technology.
Advertisements

Virtual Reality Applications Pablo Figueroa Computing Science Department University of Alberta.
Virtual frame buffer and VSYNC. fb on GPU fb on GPU Kernel Vfb on XDR Output request from application mmap /dev/fb Every VSYNC, do; - notify VSYNC to.
What is GNU/Linux (Not Linux!)? David Sudjiman davidsudjiman (at) yahoo (dot) com The latest version of this document can.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
 Copyright I/O International, 2013 Visit us at: A Feature Within from Sales Rep User Friendly Maintenance – with Zip Code.
The GESCI Content Evaluation Tool Presented by Esther Mwiyeria Country Programme Facilitator Kenya/Tanzania GESCI.
Overview of Digital Content Evaluation. Domains of Content Evaluation Quality and comprehensiveness of content Ease of use, functionality, navigation.
The Process of Multiplatform Development: An Example Robyn Taylor University of Alberta.
An Introduction to InTml Pablo Figueroa University of Alberta 2002.
Android is a mobile operating system developed by Google and is based upon the Linux kernel and GNU software. It was initially developed by Android.
Open Source/Free Software Source code is available Extensible Can be changed, modified Freely distributed Copies Modified versions Alternatives to commercial/proprietary.
Developing a Basic Web Page with HTML
What are the functions of an operating system? The operating system is the core software component of your computer. It performs many functions and is,
To be Presented by, T.Sathishkumar [11mw07] 1. Synopsis Introduction Version Features License An Application Development Demo Possibilities Advantages.
Networking All talk - Selective listen Network up to 15 active nodes + 17 passive nodes Nexus/Discovery panels, network repeaters, R3 19” racks, Alarm.
Linux Basics CS 302. Outline  What is Unix?  What is Linux?  Virtual Machine.
Content Management Systems …mostly Umbraco ALL ABOUT.
Visual Basic Chapter 1 Mr. Wangler.
Welcome to the 3 rd Junior Session Prepared by Eslam Mohammed Diaa El-Din Twitter
© 2011 Delmar, Cengage Learning Chapter 7 Managing a Web Server and Files.
Operating Systems AOIT Principles of Information Technology.
` Tangible Interaction with the R Software Environment Using the Meuse Dataset Rachel Bradford, Landon Rogge, Dr. Brygg Ullmer, Dr. Christopher White `
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.
Intel® Education Learning in Context: Concept Mapping Intel Solutions Summit 2015, Dallas, TX.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
Session 26 Modeling the Static View: The Deployment Diagram Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 27, 2011 Presented.
NRCCL (University of Oslo, Faculty of Law) Copyleft and Open Source Jon Bing Notrwegian Research Center for Computers and Law Master Lecture 13 October.
LOGO 碩一 謝昌宏 2010/1/26
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
Chapter 3 Installing and Learning Software. 2Practical PC 5 th Edition Chapter 3 Getting Started In this Chapter, you will learn: − What is in an application.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 4 Computer Software.
E.g.: MS-DOS interface. DIR C: /W /A:D will list all the directories in the root directory of drive C in wide list format. Disadvantage is that commands.
Module 1 – Lesson 6 Ms. Tracy. Bell Ringer What is the typical useful life for a personal computer?
CITA 342 Section 2 Visual Programming. Allows the use of visual expressions (such as graphics, drawings, or animation) in the process of programming.
The physical parts of a computer are called hardware.
Hardware/Software Basics Test
Connecting the Smart Board  Created in 1991, A Smart Board is an interactive whiteboard that provides a student-centered learning environment. Go!
Debugging 1/6/2016. Debugging 1/6/2016 Debugging  Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a program.
+ TIC-TAC-TOE GAME CAPSTONE PROJECT SEN Team Members Sno.NameITU ID 1Keerthi Alimity Venkata Ganugapati Sujitha Sanku Bavi Bharathan87550.
Nomenclature for the OGSA Platform document Fred Maciel.
Object Oriented Analysis and Design Introduction to Rational Rose.
Hardware/Software Basics Test Get out your DIY Test Review.
The ___ is a global network of computer networks Internet.
Information Systems Design and Development Technical Implications (Software) Computing Science.
PowerTalk automatically speaks the text in presentations while you operate PowerPoint as usual. It uses computer speech that comes with Windows XP and.
Geospatial Information: Copyright Issues Professor George Cho Professor of Geoinformatics and the Law University of Canberra
Introduction to FOSS. Classes of software  Operating System (OS)  Software that manages all the application programs in a computer  Manages the computer.
From Source Code to Packages and even whole distributions By Cool Person From openSUSE.
INTRO. To I.T Razan N. AlShihabi
LINUX History In 1984 a project was launched by Richard Stallman to develop a complete Unix-like operating system that would be considered free software.
What is php and mysql
Developing WordPress Plugins
GNU Coding Guidelines Shakthi Kannan GNU Free Documentation License
Selected topic in computer science (1)
Android.
Chapter 18 MobileApp Design
Virtual frame buffer and VSYNC
Chapter 4 Computer Software.
MediaWiki May 2017 Mediawiki.
Automation in an XML Authoring Environment
Compiler Back End Panel
Compiler Back End Panel
Managing a Web Server and Files
Virtual Reality.
FREE SOFTWARE DEFINITION
GNU General Public License (GPL)
12) Panels Panels: ISPF Resources: ISPF Dialog Developer's Guide
SAS v17 Contents and schedule.
Presentation transcript:

Development of Multiplatform, VR Applications Pablo Figueroa 1, Pierre Boulanger 1, H. J. Hoover 1, Mark Green 2, Robyn Taylor 1 1.University of Alberta 2.City University of Hong Kong

Contents  Motivation  Goals  Our Approach  Example: A Matching Test  Conclusions

Motivation

Motivation (2)

VR applications running in…  Different hardware platforms – PCs – SMART Board – Head Mounted Display + Joystick – 2 Screens + Tracker – Passive Stereo – VizRoom  Different interaction techniques  An affordable way

Goals Our goals are:  To provide a development environment suitable for multiple platforms  To minimize difficulties due to hardware differences when implementing an application across multiple platforms  To facilitate communication between application designers and programmers

Our Approach  InTml: Interaction Techniques Markup Language  Descriptive language between designers and programmers  Core implementation in different platforms  More information at /InTml

Example: A Matching Test We are currently working on a small example of a VR application developed using the InTml framework. In this application, the user must match pairs of objects in a 3D environment. The interaction techniques used must be appropriate to the environment the user is working within.

Standard PC with Mouse & Keyboard Orientation and position moving the mouse while pressing different combinations of keyboard and mouse buttons.

SMART Board Orientation and position of the objects by drawing on the screen with different pens.

InTml Code <!DOCTYPE App PUBLIC "-//pfiguero//3D Interaction Techniques ML//EN" " " <!-- Copyright info matchingAppPC: The matching application, standard PC version matchingAppPC: The matching application, standard PC version Copyright (C) 2001, Pablo Figueroa Copyright (C) 2001, Pablo Figueroa This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA USA Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA USA --> --> <!-- Assumptions - The initial viewpoint is looking to -z from (0,0,0) - The initial viewpoint is looking to -z from (0,0,0) - The valid x, y positions are between (-20, 20) - The valid x, y positions are between (-20, 20) --> --> Matching application in the PC platform Matching application in the PC platform <!-- initial transformations, selected objects, position and orientation <!-- initial transformations, selected objects, position and orientation while moving, match times --> while moving, match times --> </App> version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA USA --> <!-- Assumptions - The initial viewpoint is looking to -z from (0,0,0) --> Matching application in the SMART Board platform <!-- initial transformations, selected objects, position and orientation while moving, match times --> PC: SMART Board:

InTml Development Environment Core Frameworks/APIs: X3D, Java3D, VRJuggler, … InTml Framework (InTml-F) InTml Language InTml Tools (InTml-T) (Checker, Browser, Compiler, VPE, …) VR Developer VR Designer InTml Library Implementation

Conclusions  Non-programmers can describe applications that run in non- conventional hardware platforms  Programmers can collaborate with designers in the development of VR applications  Applications can be tuned to a particular platform at description level