an introduction to intml pablo figueroa university of alberta 2002

21
An Introduction An Introduction to InTml to InTml Pablo Figueroa Pablo Figueroa University of Alberta University of Alberta 2002 2002

Post on 20-Dec-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

An Introduction to An Introduction to InTmlInTml

Pablo FigueroaPablo Figueroa

University of AlbertaUniversity of Alberta

20022002

ContentsContents ObjectivesObjectives A VR ApplicationA VR Application ConceptsConcepts

– Dataflow architectureDataflow architecture– Execution modelExecution model– A filterA filter– A deviceA device– An objectAn object– An object holderAn object holder– An applicationAn application– ClassesClasses

ConclusionsConclusions

ObjectivesObjectives

InTml: Interaction Techniques InTml: Interaction Techniques Markup LanguageMarkup Language

A description language for an entire A description language for an entire VR applicationVR application– Modular, extensible, interoperableModular, extensible, interoperable

Programming skills are not requiredProgramming skills are not required It can be executableIt can be executable It incorporates media developed in It incorporates media developed in

other formatsother formats

A VR ApplicationA VR Application

Non-conventional devicesNon-conventional devices High responsivenessHigh responsiveness

– (Low delay, low latency)(Low delay, low latency)– Ideally, fixed frame rateIdeally, fixed frame rate

Behaviour

Dataflow ArchitectureDataflow Architecture

Execution ModelExecution Model

Tasks executed each frameTasks executed each frame

t t+t

Readinputdevices

Behaviorexecution

UpdateVR objects

Outputrendering

……

ct et pt

A FilterA Filter

Smallest Smallest processing unitprocessing unit

It takes the It takes the information information received in its input received in its input ports and produces ports and produces the information in the information in output portsoutput ports

It runs every frameIt runs every frame

aFilterInputPorts

OutputPorts

Filter Execution (1)Filter Execution (1)

Collects information from its input ports, Collects information from its input ports, for a period of timefor a period of time

aFilterInputPorts

OutputPorts

Filter Execution (2)Filter Execution (2)

Execution: Produces its output Execution: Produces its output

aFilterInputPorts

OutputPorts

Filter Execution (3)Filter Execution (3)

Sends generated information through Sends generated information through output portsoutput ports

aFilterInputPorts

OutputPorts

Some FiltersSome Filters

PointerBased

SelectionTechnique

objects

selected object

pointer position

Car-LikeNavigation

wheel angleposition

gas pedal level orientation

break pedal level

seconds

A DeviceA Device

Information Information extracted from a extracted from a physical devicephysical device

Output ports: types Output ports: types of informationof information

Input ports: control Input ports: control parametersparameters

aDevice OutputPorts

Some DevicesSome Devices

Mouse

pos2D

button1Pressed

button1Released

6DOF Tracker

pos3D

orientation

world coordinates

An ObjectAn Object

VR content: graphics, VR content: graphics, sound, haptics, …sound, haptics, …

Changes are queued Changes are queued during data flow during data flow executionexecution

Output ports are Output ports are events of changes in events of changes in the objectthe object

anObjectInputPorts

OutputPorts

Object ExecutionObject Execution

Execution and output Execution and output afterafter data flow data flow executionexecution

t t+t

Readinputdevices

Behaviorexecution

UpdateVR objects

Outputrendering

……

ct et pt

obj obj

An Object HolderAn Object Holder

Changes to an Changes to an object referenceobject reference

The object might The object might be changed in be changed in executionexecution anObject

HolderInputPorts

OutputPorts

object objChanged

Object Holder ExecutionObject Holder Execution

t t+t

Readinputdevices

Behaviorexecution

UpdateVR objects

Outputrendering

……

ct et pt

objoh oh

obj obj

Object Holder. An ExampleObject Holder. An Example

A selected object can be directly A selected object can be directly manipulated from the tracker, when manipulated from the tracker, when echoPQ is onechoPQ is on

selection

selectedObject

object

tracker echoPQ

p p

q q

on/off

An ApplicationAn Application

Interconnected collection of devices, Interconnected collection of devices, filters, and objectsfilters, and objectsheadTracker:

InterSenseHeadTracker

wand: InterSenseWand

Tracker

screens: VisroomScreens

buttons[0]

q: Quaternion

fly:FlyUnrestrictedIT

q

speed

timer

quit

30

currentViewpointviewpoint

currentSystemsystem

scene

secs

timer

ClassesClasses

Classes define Classes define devices, devices, filters, and filters, and objectsobjects

Class

a: Class b: Class c: Class

d: Class

ConclusionsConclusions

InTml’s concepts can describe a VR InTml’s concepts can describe a VR application at design levelapplication at design level

InTml applications can be executed InTml applications can be executed in a broad variety of hardware in a broad variety of hardware platformsplatforms

InTml hides implementation detailsInTml hides implementation details