Interactive Textures as Spatial User Interfaces in X3D Web3D 2010 Symposium Sabine Webel Y. Jung, M. Olbrich, T. Drevensek, T. Franke, M.Roth, D.Fellner,

Slides:



Advertisements
Similar presentations
ORGANIZING THE CONTENT Physical Structure
Advertisements

H.G.Essel: Go4 - J. Adamczewski, M. Al-Turany, D. Bertini, H.G.Essel, S.Linev CHEP 2004 Go4 v2.8 Analysis Design.
Benchmark and Java Applet Test Scenario Presentation Outline Introduction to Benchmark Testing Procedure to create the test Benchmark Playback Results.
© by Pearson Education, Inc. All Rights Reserved.
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
Visual Basic 2010 How to Program Reference: Instructor: Maysoon Bin Duwais slides Visual Basic 2010 how to program by Deitel © by Pearson Education,
Adding Functionality To Web-Based VR Basic Concepts Client – server model Client-side static Client-side scripting Server-side scripting.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Lecture 7 Date: 23rd February
© De Montfort University, D Graphics and VRML Howell Istance and Chris Hand* De Montfort University * now at
Using Tweek to Create Graphical User Interfaces in Virtual Reality Patrick Hartling IEEE VR 2003.
WebDynpro for ABAP Short introduction.
1 Introduction to the Visual Studio.NET IDE Powerpoint slides modified from Deitel & Deitel.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
X3D Extension for (Mobile) AR Contents International AR Standards Workshop Seoul, Korea Oct 11-12, 2010 Gerard J. Kim (WG 6 AR Standards Study Group Coordinator)
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
Introduction to Java Swing “We are the sultans of swing” – Mark Knopfler.
Adaptive 3D Web Sites by by Luca Chittaro and Roberto Ranon MAJ(P) Charles E. Grindle 7 Dec 05.
4.1 JavaScript Introduction
CSCI 6962: Server-side Design and Programming Introduction to AJAX.
ASP.NET  ASP.NET is a web development platform, which provides a programming model, a comprehensive software infrastructure and various services required.
Getting to Know TiVo: The Home Media Engine (HME SDK) Eric M. Upchurch CS 525 Spring 2008.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VIII Graphical User Interface using MATLAB Rajeev Madazhy
IE 411/511: Visual Programming for Industrial Applications
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
Marcel Casado NCAR/RAP WEATHER WARNING TOOL NCAR.
Towards Virtualization of User Interfaces based on UsiXML J. P. Molina 1,2, J. Vanderdonckt 1, F. Montero 1,2, P. González 1 1 Université catholique de.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
INTRODUCTION TO HTML5 Using jQuery with HTML5. Introducing jQuery  Although it is not a part of any W3C or WHATWG specification, jQuery performs an important.
Extending HTML CPSC 120 Principles of Computer Science April 9, 2012.
QML Qt Quick with QML and you can use JavaScript for engine along C++ Started to be released since late 2009 (Qt 4.7) Nokia focused on that for the Symbian/Meego.
1 Mpeg-4 Overview Gerhard Roth. 2 Overview Much more general than all previous mpegs –standard finished in the last two years standardized ways to support:
Rapid Prototyping of Distributed User Interfaces J. P. Molina 1,2, J. Vanderdonckt 1, P. González 2 A. Fernández 2 and M. D. Lozano 2 1 Université catholique.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
JavaScript - A Web Script Language Fred Durao
Computer Graphics Group Script node Jiří Žára. Computer Graphics Group Contents 1.Script node 2.Motion generators 2Script node.
Lection №5 Modern integrated development environment.
Visual C# 2012 How to Program © by Pearson Education, Inc. All Rights Reserved.
Chapter 2 – Introduction to the Visual Studio .NET IDE
A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada INESC-ID.
Visual C# 2012 How to Program © by Pearson Education, Inc. All Rights Reserved.
H3D API Training Part 3.2: Fields; Event Handling.
X-WindowsP.K.K.Thambi The X Window System Module 5.
Creating a Qt Widget Based Application From Qt Creator Manual.
13 June 2001M.Al-Turany/Root20011 Mohammad Al-Turany Go4 GSI Darmstadt 13 June 2001.
INFORMATION SYSTEM – SOFTWARE TOPIC: GRAPHICAL USER INTERFACE.
Chapter 11 Adding Media and Interactivity. Chapter 11 Lessons Introduction 1.Add and modify Flash objects 2.Add rollover images 3.Add behaviors 4.Add.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Operating Systems Overview Basic Computer Concepts Operating System What does an operating system do  A computer’s software acts similarly with.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
LCG AA Meeting 30 June 2004 Ilka Antcheva Graphics User Interface in ROOT.
Software Architecture for Multimodal Interactive Systems : Voice-enabled Graphical Notebook.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
COMPARING CROSS-PLATFORM DEVELOPMENT APPROACHES FOR MOBILE APPLICATIONS Henning Heitkötter, Sebastian Hanschke and Tim A. Majchrzak Department of Information.
Visualization of Three-Dimensional Geometric Models in a Stereoscopic System Rositsa Radoeva Assistant professor at St. Cyril and St. Methodius University.
Open Solutions for a Changing World™ Eddy Kleinjan Copyright 2005, Data Access WordwideNew Techniques for Building Web Applications June 6-9, 2005 Key.
Dive Into® Visual Basic 2010 Express
Web Programming Language
Java FX: Scene Builder.
MPEG-4 Binary Information for Scenes (BIFS)
Chapter 2 – Introduction to the Visual Studio .NET IDE
Web3D Consortium X3DOM: Next-Generation Web3D Applications on Open Standards and Open Source Web3D Consortium
Daniel Stone Prof. Bruce H. Thomas
Introduction to Computers
Mixed Reality Server under Robot Operating System
GRAPHICAL USER INTERFACE
JavaScript and Events CS Programming Languages for Web Applications
Presentation transcript:

Interactive Textures as Spatial User Interfaces in X3D Web3D 2010 Symposium Sabine Webel Y. Jung, M. Olbrich, T. Drevensek, T. Franke, M.Roth, D.Fellner, Fraunhofer IGD - Virtual and Augmented Reality Group, Darmstadt

Overview Introduction and Motivation Integrating Interactive Textures in X3D Various types Applications Virtual Reality Augmented Reality Conclusion and Future Work

Introduction & Motivation 3D applications can require complex user interaction Typical task for standard user interfaces Solution in 2D space Buttons, sliders etc. Replication of these functionalities in 3D space 3D GUI elements not convincing (especially for immersive environments) No standard for selecting and manipulating objects in 3D scenes 3D GUI elements often created from the scratch Experience and skills in GUI design required 3D GUIs often rendered parallel to the viewing plane 2-dimensional appearance Our approach 2D interfaces in 3D applications via interactive textures

Extending the X3D texturing concept Integrating interactive textures in X3D Integration of commonly used 2D UI frameworks in X3D Set of new X3D node types X3D Texturing component (single 2D texture maps) ImageTexture, PixelTexture (still) MovieTexture (video) New node set enables to embed: standard 2D UIs web-content full applications Interactive texture input via keyboard and mouse Open enough for more advanced input devices (e.g. UserBody [1]) Suitable for desktop apps and fully immersive environments no interactivity [1] Behr, J., Dähne, P., and Roth, M., 2004, “Utilizing X3D for immersive environments“, Web3D ’04

InteractiveTexture node Interface of the base node pointer: 2D position of the texture  UI native space button: clicking or similar binary actions E.g. X3D TouchSensor hitTexCoord_changed  pointer isActive  button InteractiveTexture : DynamicTexture {... SFBool [in,out] enabled TRUE SFString [in,out] updateMode "onInteraction" SFFloat [in,out] maxFps 10 SFVec2f [in] pointer SFBool [in] button SFString [in] keyPress SFString [in] keyRelease SFInt32 [in] actionKeyPress SFInt32 [in] actionKeyRelease SFBool [in] altKey SFBool [in] controlKey SFBool [in] shiftKey }

InteractiveTexture node Interface of the base node Keyboard input according to X3D KeySensor all outSlots as inSlots InteractiveTexture : DynamicTexture {... SFBool [in,out] enabled TRUE SFString [in,out] updateMode "onInteraction" SFFloat [in,out] maxFps 10 SFVec2f [in] pointer SFBool [in] button SFString [in] keyPress SFString [in] keyRelease SFInt32 [in] actionKeyPress SFInt32 [in] actionKeyRelease SFBool [in] altKey SFBool [in] controlKey SFBool [in] shiftKey }

InteractiveTexture node Interface of the base node updateMode: mouse-move-like events click-like events time-based maxFps: max. update frequency InteractiveTexture : DynamicTexture {... SFBool [in,out] enabled TRUE SFString [in,out] updateMode "onInteraction" SFFloat [in,out] maxFps 10 SFVec2f [in] pointer SFBool [in] button SFString [in] keyPress SFString [in] keyRelease SFInt32 [in] actionKeyPress SFInt32 [in] actionKeyRelease SFBool [in] altKey SFBool [in] controlKey SFBool [in] shiftKey }

Node inheritance hierarchy Derived from abstract X3DTexture2DNode New abstract node type: DynamicTexture Base type of all time- and interaction- dependent textures PlaybackTexture: play-back 2D content without interaction InteractiveTexture: interactive GUI X11Texture: displays X11 screen WidgetTexture: displays widget-based GUI elements BrowserTexture: displays web-pages UITexture: displays Qt-based dialog file (UI files)

X11Texture node Implementation and interface Can map entire desktop environments Displays X11 screen using Xvfb Allows running single applications without a desktop manager Only on Unix platforms X11Texture parameters related to Xvfb xServer: location of the Xvfb server app shell: environment for the execution display: X11 display to be used command: command (or app) launched inside the server (e.g. „xterm –e top“) X11Texture : InteractiveTexture {... SFString [] xserver "/usr/bin/Xvfb" SFString [] shell "/bin/bash" SFInt32 [] display 3 SFString [in,out] command "" }

WidgetTexture node Implementation and interface Base type for textures representing widget-based GUI elements i.e. widgets which display PDF-files Qt-based Platform independent WidgetTexture : InteractiveTexture {... SFBool [in,out] show FALSE MFString [in,out] url [] } show: determines if the dialog is shown in a separate window useful for debugging and rapid prototyping

BrowserTexture node Implementation and interface Can display web-pages Based on Qt-Webkit url: denotes location of the web-page or contains embedded (D)HTML code link_changed: updated with new url if link clicked delegateLinkHandling: TRUE  texture‘s location is updated with the web-page of the clicked link FALSE  current page is kept and only link_changed eventOut is updated BrowserTexture : WidgetTexture {... SFBool [in,out] delegateLinkHandling FALSE SFBool [in] back SFBool [in] forward SFBool [in] reload SFBool [in] stop SFString [out] link_changed SFBool [out] isLoaded SFFloat [out] progress }

BrowserTexture node Implementation and interface back: load previous document in list forward: load next document in list reload: reload current document stop: stop loading isLoaded: sent when loading finished progress: sends loading progress (0…1) BrowserTexture : WidgetTexture {... SFBool [in,out] delegateLinkHandling FALSE SFBool [in] back SFBool [in] forward SFBool [in] reload SFBool [in] stop SFString [out] link_changed SFBool [out] isLoaded SFFloat [out] progress }

UITexture node Implementation and interface Can display and handle Qt Designer UI files url: location of the UI file Dynamic fields represent signals and slots as defined in the UI file (Qt concept for event propagation [1]) [1] NOKIA, Qt – cross-platform application and UI framework.

Applications

Conclusion and Future Work Our issue: New set of nodes to integrate 2D GUIs into X3D environments Interactive textures are used to map the 2D elements onto geometries Different kind of content (standard 2D Uis, web-content, full applications) Interaction with the textures via pointing devices and keyboard Scales from standard desktop applications to fully immersive environments Future work Enable modification of pointer position by texture transforms Investigation if the discussed 2D UI protocol can be generalized Investigation if the X11 protocol can be generalized for other operating systems (if a similar protocol is available)

Thank you! Interactive Textures