Presentation is loading. Please wait.

Presentation is loading. Please wait.

26 June 2015The eScience Wedge1 An Interactive and Immersive Virtual Environment A guide to developing applications using the TIWI package and utilities.

Similar presentations


Presentation on theme: "26 June 2015The eScience Wedge1 An Interactive and Immersive Virtual Environment A guide to developing applications using the TIWI package and utilities."— Presentation transcript:

1 26 June 2015The eScience Wedge1 An Interactive and Immersive Virtual Environment A guide to developing applications using the TIWI package and utilities Dr Henry Gardner, Pascal Vuylsteker, David Walsh, Rod Harris, Hugh Fisher http://escience.anu.edu.auhttp://escience.anu.edu.au thewedge@escience.anu.edu.authewedge@escience.anu.edu.au

2 26 June 2015The eScience Wedge2 Overview Hardware features and layout The TIWI Interface Classpath setup & package layout Building a simple application Java3D scenegraph basics review TIWI utilities and advanced features

3 26 June 2015The eScience Wedge3 Hardware Features Stereo optic display ( basic 3D cue ) Dual screen ( immersion ) –Implies 4 output buffers, 4 x rendering time ( ?? ) 8 speaker digital audio ( immersion, 3D ) Ultrasound head tracker ( immersion ) and 3Dmouse ( interactivity ) Domino input device ( navigation, control ) Microphone ( interactivity )

4 26 June 2015The eScience Wedge4 Wedge Hardware Layout Projector Mirror Wedge IR Emitter Monitors monolith Wildcat 4210 bondi Internet Remote/local switch Video line splitters Dual 500w amplifiers DAC/ADC DSP IR signal Video (x2) Monolith serial ports speakers Headtracker and 3Dmouse controllers 1 2 Note: Microphone not shown 8

5 26 June 2015The eScience Wedge5 The Tracked Interactive Wedge Interface An API for the Wedge using Java3D –See http://escience.anu.edu.au/tiwi/src/tiwi.ziphttp://escience.anu.edu.au/tiwi/src/tiwi.zip Not the only way of programming the Wedge Includes Demos and utilities Easier to setup than straight Java3D Same code will run on a POCS Has Javadoc documentation –See http://ephebe.anu.edu.au/tiwi/tiwidoc/http://ephebe.anu.edu.au/tiwi/tiwidoc/

6 26 June 2015The eScience Wedge6

7 26 June 2015The eScience Wedge7 What the Wedge class gives you Class Wedge extends View Creates the Virtual Universe, Locale, ViewPlatform, Physical Environment and Physical Body objects, inter alia, for you Physical Environment –Used to setup input devices (sensors) & audio output Physical Body –Holds human based parameter, eg height, eye width … ViewPlatform –One per view, can be placed under arbitrarily complex TransformGroup tree

8 26 June 2015The eScience Wedge8 Building a TIWI Application package tutorial; public class Cube { public static void main(String args[]) { new Cube(1); } public Cube(int size) { // set up graphics configuration // create a wedge object // create a branch graph with a cube at the origin // add it to the wedge }

9 26 June 2015The eScience Wedge9 Building a TIWI Application package tutorial; import javax.media.j3d.*; import anu.escience.tiwi.*; public class Cube { public static void main(String args[]) { new Cube(1); } public Cube(int size) { // set up graphics configuration // create a wedge object // create a branch graph with a cube at the origin // add it to the wedge }

10 26 June 2015The eScience Wedge10 Building a TIWI Application package tutorial; import javax.media.j3d.*; import anu.escience.tiwi.*; public class Cube { public static void main(String args[]) { new Cube(1); } public Cube(int size) { // set up graphics configuration WedgeConfigTemplate wct = new GraphicsConfigTemplate(); WedgeConfiguration wc = new GraphicsConfiguration(wct); // create a wedge object // create a branch graph with a cube at the origin // add it to the wedge }

11 26 June 2015The eScience Wedge11 Building a TIWI Application package tutorial; import javax.media.j3d.*; import anu.escience.tiwi.*; public class Cube { public static void main(String args[]) { new Cube(1); } public Cube(int size) { // set up graphics configuration WedgeConfigTemplate wct = new GraphicsConfigTemplate(); WedgeConfiguration wc = new GraphicsConfiguration(wct); // create a wedge object Wedge wedge = Wedge.getWedge(wc); // create a branch graph with a cube at the origin // add it to the wedge }

12 26 June 2015The eScience Wedge12 Building a TIWI Application package tutorial; import javax.media.j3d.*; import anu.escience.tiwi.*; public class Cube { public static void main(String args[]) { new Cube(1); } public Cube(int size) { // set up graphics configuration WedgeConfigTemplate wct = new GraphicsConfigTemplate(); WedgeConfiguration wc = new GraphicsConfiguration(wct); // create a wedge object Wedge wedge = Wedge.getWedge(wc); // create a branch graph with a cube at the origin BranchGroup bg = CubeScene.createScene(size); // add it to the wedge }

13 26 June 2015The eScience Wedge13 Building a TIWI Application package tutorial; import javax.media.j3d.*; import anu.escience.tiwi.*; public class Cube { public static void main(String args[]) { new Cube(1); } public Cube(int size) { // set up graphics configuration WedgeConfigTemplate wct = new GraphicsConfigTemplate(); WedgeConfiguration wc = new GraphicsConfiguration(wct); // create a wedge object Wedge wedge = Wedge.getWedge(wc); // create a branch graph with a cube at the origin BranchGroup bg = CubeScene.createScene(size); // add it to the wedge wedge.addBranchGraph(bg); }

14 26 June 2015The eScience Wedge14 Java3D Scene Graph VirtualUniverse Locale BranchGroup Transformgroup Transform3D BranchGroup Box Shape3D ConeIndexedFaceSet

15 26 June 2015The eScience Wedge15 Homogeneous Coordinates and the Java3D Transform3D class 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 = Identity matrix, basic data contained in the Transform3D class 0 0 0 1 R1 R2 R3 R4 R5 R6 R7 R8 R9 T1 T2 T3 0 0 0 1 T1 T2 T3 S1 0 0 0 S2 0 0 0 S3 Affine Transformations

16 26 June 2015The eScience Wedge16 Compound Transformations Homogeneous coordinates allow building compound transformations by simple matrix multiplication Matrix multiplication is associative ((AB)C = (A(BC)) But not commutative (AB != BA) What does this imply?

17 26 June 2015The eScience Wedge17 Tiwi Utilities Virtual head tracker Built in keyboard listener Simple 3D mouse cursor ANU Loaded Functionality Alpha (AlfAlpha) Classpath file finder Animation sequence controller and suite of interpolators


Download ppt "26 June 2015The eScience Wedge1 An Interactive and Immersive Virtual Environment A guide to developing applications using the TIWI package and utilities."

Similar presentations


Ads by Google