140 likes | 304 Views
Virtual Showcase Modelling Language. Erich Pohn. Virtual Showcase(1). projector graphics display convex assembly of half-silvered mirrors shutter glasses head tracker. Virtual Showcase(2). head tracking. mirror. beamer. augmentation of real and virtual objects
E N D
Virtual Showcase Modelling Language Erich Pohn
Virtual Showcase(1) • projector • graphics display • convex assembly of half-silvered mirrors • shutter glasses • head tracker
Virtual Showcase(2) head tracking mirror beamer augmentation of real and virtual objects (chessboard & chessmen) projection screen half-silvered mirror
Our tasks ... • Interaction • different needs: • operates in public • untrained audience • Authoring • content player => e.g. Studierstube • content specification => VSML !
Goals of VSML (1) • Specification of ... • contents • VS-hardware • input-devices • Interaction
Goals of VSML (2) • high level description: • no (algorithmic) programming • no geometry description • access to well established formats (IV,VRML,...) • independent of viewer (eg. Studstube) • XML based
Data flow (1) VRML,IV,... Content description ? VSML Complete Installation description VSML viewer (Studierstube ?) Showcase description OT/XML Rendering Input-device description
Data flow (2) native VSML speaker VSML ZAJIC ! Complete Installation description XSL Trafo Studierstube Studierstube Input-files ??? ! XSL Trafo ???stube ???stube Input-files
VSML specification (1) presentation ... ... modelresource (eg. IV) modelresource scene scene ... modelinstance (acess to res.) fieldconnection (interaction) link (next scene)
VSML specification (2) XML Schema stuff ... eg. definition of 'presentation': <xs:complexType name="presentationType"> <xs:sequence> <xs:element name="modelresource" type="vsml:ModelResource" maxOccurs="unbounded"/> <xs:element name="scene" type="vsml:Scene" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="input" type="xs:string" use="required"/> <xs:attribute name="output" type="xs:string" use="required"/> </xs:complexType>
Example (1) presentation modelresource laser.iv modelresource chessboard.iv scene chess application modelinstance(s) laser, board fieldconnection laser – station4 station 4 in Opentracker config. file
Example (2) <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="vsml_stb.xslt"?> <vsml:VSML xsi:schemaLocation="vsml vsml.xsd"> <presentation input="stb_ot.xml" output="UserKit.iv"> <modelresource file="laser.iv" name="laser"/> <modelresource file="board.iv" name="chessboard"/> <sceneappName="chess_stb"/> <modelinstance resource="laser"/> <modelinstance resource="chessboard" position="0 0 0"/> <fieldconnection input="station4" object="LaserTrafo" field="translation"/> <fieldconnection input="station4" object="Lasertrafo" field="rotation"/> </scene> </presentation> </vsml:VSML>
Example (3) OpenTracker (stb_ot.xml) modelresource (laser.iv) <StbSink station="4" DEF="station4"> ... </StbSink> DEF LaserTrafo SoTransform { translation ... rotation ... } <fieldconnection input="station4" object="LaserTrafo" field="translation"/>
Future work • completely implement/test all this stuff ...