an introduction to intml pablo figueroa university of alberta 2002
Post on 20-Dec-2015
213 Views
Preview:
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
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
top related