`3D Desktop Exploration...
`
`Hideya.Kawahara@sun.com
`Deron.Johnson@sun.com
`X Developer's Conference – Apr. 29th 2004
`
`1
`
`2004 X Developer's Conference
`
`APPLE 1022
`
`1
`
`
`
`Just wanted to break the boundary...
`
`2
`
`2004 X Developer's Conference
`
`2
`
`
`
`The Opportunity
`We all know about it...
`
`(cid:1) 20 year old 2D desktop metaphor
`(cid:1) Significant improvement of 3D capabilities
`(cid:1) How we can capitalize on this?
`
`What would be the right next step?
`
`3
`
`2004 X Developer's Conference
`
`3
`
`
`
`The Opportunity
`Key question...
`
`(cid:1) Go beyond accelerating 2D GUIs
`
`(cid:1) But without forcing users into unfamiliar
`Virtual Reality world
`
`4
`
`2004 X Developer's Conference
`
`4
`
`
`
`The Approach...
`Evolving the “Paper Paradigm!”
`
`Existing 2D Applications
`
`New 3D Applications
`
`5
`
`2004 X Developer's Conference
`
`5
`
`
`
`Demo
`
`Proof-of-concept
`
`6
`
`2004 X Developer's Conference
`
`6
`
`
`
`Explore the New Frontier
`Now, how to do it...
`
`(cid:1) Integration with existing system is key
`
`(cid:1) Totally new area
`Need to experiment aggressively...
`... what we've shown must be a tip of iceberg
`
`(cid:1) How we started:
`Leveraged JavaTM technology's productivity...
`... delivering “a reference platform”
`
`7
`
`2004 X Developer's Conference
`
`7
`
`
`
`Explore the New Frontier
`Goals
`
`Leveraging Project Looking Glass...
`
`(cid:1) Add a new dimension to the desktop while
`following the standards used by well
`established Linux desktops (GNOME and
`KDE)
`
`(cid:1) Collaboratively develop additional
`standards relative to 3D interaction and UI
`
`8
`
`2004 X Developer's Conference
`
`8
`
`
`
`Overview of Technical Info
`
`(cid:1) High-level Architecture Overview
`(cid:1) Graphics Platform
`(cid:1) Client-side API
`(cid:1) How All the Pieces Interact
`(cid:1) Possible Areas of Collaboration
`
`9
`
`2004 X Developer's Conference
`
`9
`
`
`
`Super High-level Architecture Overview
`Platform for further exploration
`
`3D Window Manager
`or Project Looking Glass-aware
`3D Application
`
`API
`Project Looking Glass
`Libraries
`
`Display Server
`
`X Client Application
`
`Java 3DTM Technology
`Graphics Platform
`
`X Server
`X Client Capture
`
`10
`
`2004 X Developer's Conference
`
`10
`
`
`
`APIs for 3D Desktop Development
`Platform for further exploration
`
`
`3D Window Manager3333333333333DDDDDDDDDDDD WWWWWWWWWWWWiiiiiiiiiiiinnnnnnnnnnnndddddddddddddooooooooooooowwwwwwwwwwww MMMMMMMMMMMMaaaaaaaaaaaaannnnnnnnnnnnaaaaaaaaaaaaagggggggggggggggggggeeeeeeeeeeeeerrrrrrrrrrrr
`
`or Project Looking Glass-awareooooooooooooooorrrrrrrrrrrrrr PPPPPPPPPPPPPPPPPPrrrrrrrrrrrrrrooooooooooooooojjjjjjjjjjjjjjjjjjjjjjjjooooooooooooooo eeeeeeeeeeeeeeecccccccccccccccttttttttttttttttttt LLLLLLLLLLLLLLLLLLooooooooooooooooooooooooooooookkkkkkkkkkkkkkkkkkiiiiiiiiiiiiiiiiiinnnnnnnnnnnnnngggggggggggggggggggg GGGGGGGGGGGGGGGGGGGllllllllllllllllllaaaaaaaaaaaaaaassssssssssssssssssssssssssssss----aaaaaaaaaaaaaaawwwwwwwwwwwwwaaaaaaaaaaaaaaarrrrrrrrrrrrrreeeeeeeeeeeeeee
`
`3D Application3333333333333DDDDDDDDDDDDD AAAAAAAAAAAAAppppppppppppppppllllllllllllliiiiiiiiiiiiiccccccccaaaaaaaattttttttttttiiiiiiiiiiiiioooooooonnnnnnnn
`
`
`APIAPI
`
`Project Looking GlassPPPPPPPPPPPPPPPPrrrrrrrrrrrrrrrroooooooooooooooojjjjjjjjjjjjjjjjjjjjjjoooooooooooooooo eeeeeeeeeeeeeeeecccccccccccccccctttttttttttttttt LLLLLLLLLLLLLLLLooooooooooooooooooooooooooooooookkkkkkkkkkkkkkkkiiiiiiiiiiiiiiiinnnnnnnnnnnnnnnngggggggggggggggggggggg GGGGGGGGGGGGGGGGllllllllllllllllaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssss
`LLLLLLLLLLLLLLLiiiiiiiiiiiiiiibbbbbbbbbbbbbbbrrrrrrrrrraaaaaaaaaarrrrrrrrrriiiiiiiiiiiiiiieeeeeeeeeessssssssss
`Libraries
`
`Display Server
`
`
`
`X Client ApplicationXXXXXXXXXXXXXXXXXXXXXXX CCCCCCCCCCCCCCCCCCCCCCCCllllllllllllllllllllllliiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeennnnnnnnnnnnnnnnnttttttttttttttttttttttt AAAAAAAAAAAAAAAAAAAAAAAppppppppppppppppppppppppppppppppppppppppppppppppllllllllllllllllllllllliiiiiiiiiiiiiiiiiiiiiiiccccccccccccccccccaaaaaaaaaaaaaaaaaatttttttttttttttttttttttiiiiiiiiiiiiiiiiiiiiiiioooooooooooooooooonnnnnnnnnnnnnnnnn
`
`Java 3DTM Technology
`Graphics Platform
`
`X Server
`X Client Capture
`
`11
`
`2004 X Developer's Conference
`
`11
`
`
`
`Project Looking Glass
`Graphics Platform
`or “How to Draw 3D X Windows”
`
`Deron.Johnson@sun.com
`
`12
`
`2004 X Developer's Conference
`
`12
`
`
`
`Presentation Goals
`
`(cid:1) (cid:1)(cid:2)(cid:3)(cid:2)(cid:4)(cid:5)(cid:6)(cid:7)(cid:8)(cid:2)(cid:6)(cid:9)(cid:4)(cid:10)(cid:11)(cid:12)(cid:6)(cid:13)(cid:2)(cid:8)(cid:11)(cid:14)(cid:15)(cid:6)(cid:7)(cid:8)(cid:2)(cid:6)(cid:16)(cid:17)(cid:2)(cid:7)(cid:7)(cid:18)(cid:6)(cid:16)(cid:11)(cid:12)(cid:7)(cid:19)(cid:17)(cid:2)(cid:20)
`(cid:1) (cid:21)(cid:3)(cid:2)(cid:17)(cid:3)(cid:11)(cid:2)(cid:22)(cid:6)(cid:23)(cid:24)(cid:6)(cid:25)(cid:17)(cid:23)(cid:26)(cid:2)(cid:12)(cid:7)(cid:6)(cid:27)(cid:23)(cid:23)(cid:28)(cid:11)(cid:14)(cid:10)(cid:6)(cid:29)(cid:5)(cid:4)(cid:20)(cid:20)(cid:6)(cid:29)(cid:17)(cid:4)(cid:16)(cid:8)(cid:11)(cid:12)(cid:20)(cid:6)
`(cid:4)(cid:17)(cid:12)(cid:8)(cid:11)(cid:7)(cid:2)(cid:12)(cid:7)(cid:19)(cid:17)(cid:2)
`
`(cid:1) (cid:30)(cid:23)(cid:22)(cid:6)(cid:25)(cid:17)(cid:23)(cid:26)(cid:2)(cid:12)(cid:7)(cid:6)(cid:27)(cid:23)(cid:23)(cid:28)(cid:11)(cid:14)(cid:10)(cid:6)(cid:29)(cid:5)(cid:4)(cid:20)(cid:20)(cid:6)(cid:24)(cid:11)(cid:7)(cid:20)(cid:6)(cid:11)(cid:14)(cid:6)(cid:22)(cid:11)(cid:7)(cid:8)(cid:6)(cid:31)(cid:6)(cid:32)(cid:2)(cid:17)(cid:3)(cid:2)(cid:17)
`
`(cid:1) (cid:29)(cid:17)(cid:4)(cid:16)(cid:8)(cid:11)(cid:12)(cid:20)(cid:6)(cid:33)(cid:19)(cid:7)(cid:19)(cid:17)(cid:2)(cid:20)
`
`13
`
`2004 X Developer's Conference
`
`13
`
`
`
`Project Looking Glass – Demo vs. Product
`
`(cid:1) (cid:34)(cid:19)(cid:17)(cid:17)(cid:2)(cid:14)(cid:7)(cid:5)(cid:18)(cid:6)(cid:35)(cid:3)(cid:4)(cid:11)(cid:5)(cid:4)(cid:13)(cid:5)(cid:2)(cid:36)(cid:6)(cid:25)(cid:17)(cid:23)(cid:23)(cid:24)(cid:37)(cid:23)(cid:24)(cid:37)(cid:12)(cid:23)(cid:14)(cid:12)(cid:2)(cid:16)(cid:7)(cid:6)(cid:38)(cid:2)(cid:9)(cid:23)
`(cid:2) (cid:25)(cid:17)(cid:23)(cid:23)(cid:24)(cid:37)(cid:23)(cid:24)(cid:37)(cid:12)(cid:23)(cid:14)(cid:12)(cid:2)(cid:16)(cid:7)(cid:6)(cid:23)(cid:14)(cid:5)(cid:18)
`(cid:2) (cid:29)(cid:23)(cid:4)(cid:5)(cid:36)(cid:6)(cid:32)(cid:7)(cid:11)(cid:17)(cid:6)(cid:16)(cid:2)(cid:23)(cid:16)(cid:5)(cid:2)(cid:39)(cid:20)(cid:6)(cid:11)(cid:9)(cid:4)(cid:10)(cid:11)(cid:14)(cid:4)(cid:7)(cid:11)(cid:23)(cid:14)(cid:20)
`(cid:2) (cid:29)(cid:17)(cid:4)(cid:16)(cid:8)(cid:11)(cid:12)(cid:20)(cid:6)(cid:5)(cid:4)(cid:18)(cid:2)(cid:17)(cid:6)(cid:11)(cid:20)(cid:6)(cid:3)(cid:2)(cid:17)(cid:18)(cid:6)(cid:13)(cid:4)(cid:20)(cid:11)(cid:12)(cid:6)(cid:37)(cid:40)(cid:6)(cid:41)(cid:2)(cid:2)(cid:15)(cid:20)(cid:6)(cid:11)(cid:9)(cid:16)(cid:17)(cid:23)(cid:3)(cid:2)(cid:9)(cid:2)(cid:14)(cid:7)
`
`(cid:1) (cid:42)(cid:23)(cid:17)(cid:28)(cid:11)(cid:14)(cid:10)(cid:6)(cid:21)(cid:14)(cid:36)(cid:6)(cid:1)(cid:2)(cid:24)(cid:11)(cid:14)(cid:2)(cid:15)(cid:6)(cid:29)(cid:17)(cid:4)(cid:16)(cid:8)(cid:11)(cid:12)(cid:20)(cid:6)(cid:25)(cid:5)(cid:4)(cid:7)(cid:24)(cid:23)(cid:17)(cid:9)
`(cid:2) (cid:29)(cid:23)(cid:4)(cid:5)(cid:20)(cid:36)
`(cid:1) (cid:41)(cid:2)(cid:22)(cid:6)(cid:35)(cid:17)(cid:12)(cid:8)(cid:11)(cid:7)(cid:2)(cid:12)(cid:7)(cid:19)(cid:17)(cid:2)(cid:36)(cid:6)(cid:34)(cid:5)(cid:11)(cid:2)(cid:14)(cid:7)(cid:37)(cid:32)(cid:2)(cid:17)(cid:3)(cid:2)(cid:17)(cid:43)(cid:6)(cid:44)(cid:23)(cid:17)(cid:2)(cid:6)(cid:9)(cid:23)(cid:15)(cid:19)(cid:5)(cid:4)(cid:17)
`(cid:1) (cid:41)(cid:2)(cid:22)(cid:6)(cid:33)(cid:2)(cid:4)(cid:7)(cid:19)(cid:17)(cid:2)(cid:20)(cid:36)(cid:6)(cid:21)(cid:16)(cid:2)(cid:14)(cid:29)(cid:27)(cid:6)(cid:12)(cid:4)(cid:16)(cid:7)(cid:19)(cid:17)(cid:2)
`(cid:1) (cid:25)(cid:17)(cid:23)(cid:15)(cid:19)(cid:12)(cid:7)(cid:11)(cid:45)(cid:4)(cid:13)(cid:5)(cid:2)
`(cid:2) (cid:25)(cid:5)(cid:4)(cid:14)(cid:14)(cid:2)(cid:15)(cid:6)(cid:35)(cid:3)(cid:4)(cid:11)(cid:5)(cid:4)(cid:13)(cid:11)(cid:5)(cid:11)(cid:7)(cid:18)(cid:36)
`(cid:1) (cid:44)(cid:11)(cid:15)(cid:37)(cid:46)(cid:47)(cid:47)(cid:48)(cid:36)(cid:6)(cid:38)(cid:2)(cid:3)(cid:2)(cid:5)(cid:23)(cid:16)(cid:2)(cid:17)(cid:39)(cid:20)(cid:6)(cid:1)(cid:2)(cid:5)(cid:2)(cid:4)(cid:20)(cid:2)(cid:6)(cid:49)(cid:27)(cid:11)(cid:14)(cid:19)(cid:50)(cid:6)(cid:23)(cid:14)(cid:5)(cid:18)(cid:51)
`(cid:1) (cid:52)(cid:3)(cid:2)(cid:14)(cid:7)(cid:19)(cid:4)(cid:5)(cid:6)(cid:25)(cid:17)(cid:23)(cid:15)(cid:19)(cid:12)(cid:7)(cid:6)(cid:24)(cid:23)(cid:17)(cid:6)(cid:27)(cid:11)(cid:14)(cid:19)(cid:50)(cid:43)(cid:6)(cid:32)(cid:23)(cid:5)(cid:4)(cid:17)(cid:11)(cid:20)TM(cid:6)(cid:50)(cid:53)(cid:54)(cid:43)(cid:6)(cid:4)(cid:14)(cid:15)(cid:6)(cid:32)(cid:23)(cid:5)(cid:4)(cid:17)(cid:11)(cid:20)(cid:6)
`(cid:32)(cid:25)(cid:35)(cid:1)(cid:34)TM
`
`14
`
`2004 X Developer's Conference
`
`14
`
`
`
`Project Looking Glass Graphics Platform
`
`(cid:1) (cid:31)(cid:6)(cid:32)(cid:2)(cid:17)(cid:3)(cid:2)(cid:17) (cid:6)(cid:49)(cid:31)(cid:32)(cid:51)(cid:6)(cid:55)(cid:6)(cid:14)(cid:2)(cid:22)(cid:6)(cid:56)(cid:38)(cid:6)(cid:38)(cid:11)(cid:20)(cid:16)(cid:5)(cid:4)(cid:18)(cid:6)(cid:32)(cid:2)(cid:17)(cid:3)(cid:2)(cid:17)(cid:6)(cid:49)(cid:38)(cid:32)(cid:51)
`(cid:1) (cid:21)(cid:19)(cid:7)(cid:16)(cid:19)(cid:7) (cid:1)(cid:2)(cid:15)(cid:11)(cid:17)(cid:2)(cid:12)(cid:7)(cid:11)(cid:23)(cid:14)
`(cid:2) (cid:31)(cid:32)(cid:36)(cid:6)(cid:1)(cid:2)(cid:15)(cid:11)(cid:17)(cid:2)(cid:12)(cid:7)(cid:20)(cid:6)(cid:22)(cid:11)(cid:14)(cid:15)(cid:23)(cid:22)(cid:6)(cid:17)(cid:2)(cid:14)(cid:15)(cid:2)(cid:17)(cid:11)(cid:14)(cid:10)(cid:6)(cid:37)(cid:40)(cid:6)(cid:13)(cid:4)(cid:12)(cid:28)(cid:11)(cid:14)(cid:10)(cid:6)(cid:16)(cid:11)(cid:50)(cid:9)(cid:4)(cid:16)
`(cid:2) (cid:38)(cid:32)(cid:36)(cid:6)(cid:27)(cid:23)(cid:4)(cid:15)(cid:20)(cid:6)(cid:16)(cid:11)(cid:50)(cid:9)(cid:4)(cid:16)(cid:6)(cid:11)(cid:14)(cid:7)(cid:23)(cid:6)(cid:7)(cid:2)(cid:50)(cid:7)(cid:19)(cid:17)(cid:2)
`(cid:1) (cid:42)(cid:8)(cid:2)(cid:14)(cid:2)(cid:3)(cid:2)(cid:17)(cid:6)(cid:16)(cid:11)(cid:50)(cid:9)(cid:4)(cid:16)(cid:6)(cid:12)(cid:23)(cid:14)(cid:7)(cid:2)(cid:14)(cid:7)(cid:20)(cid:6)(cid:12)(cid:8)(cid:4)(cid:14)(cid:10)(cid:2)
`(cid:1) (cid:33)(cid:23)(cid:17)(cid:6)(cid:2)(cid:50)(cid:4)(cid:9)(cid:16)(cid:5)(cid:2)(cid:36)(cid:6)(cid:15)(cid:4)(cid:9)(cid:4)(cid:10)(cid:2)(cid:6)(cid:2)(cid:3)(cid:2)(cid:14)(cid:7)
`
`(cid:1) (cid:57)(cid:14)(cid:16)(cid:19)(cid:7)(cid:6)(cid:1)(cid:2)(cid:15)(cid:11)(cid:17)(cid:2)(cid:12)(cid:7)(cid:11)(cid:23)(cid:14)
`(cid:2) (cid:31)(cid:32)(cid:36)(cid:6)(cid:32)(cid:2)(cid:14)(cid:15)(cid:20)(cid:6)(cid:5)(cid:23)(cid:22)(cid:37)(cid:5)(cid:2)(cid:3)(cid:2)(cid:5)(cid:6)(cid:15)(cid:2)(cid:3)(cid:11)(cid:12)(cid:2)(cid:6)(cid:2)(cid:3)(cid:2)(cid:14)(cid:7)(cid:20)(cid:6)(cid:7)(cid:23)(cid:6)(cid:38)(cid:32)
`(cid:2) (cid:38)(cid:32)(cid:36)(cid:6)(cid:38)(cid:2)(cid:7)(cid:2)(cid:17)(cid:9)(cid:11)(cid:14)(cid:2)(cid:20)(cid:6)(cid:22)(cid:8)(cid:11)(cid:12)(cid:8)(cid:6)(cid:22)(cid:11)(cid:14)(cid:15)(cid:23)(cid:22)(cid:6)(cid:2)(cid:3)(cid:2)(cid:14)(cid:7)(cid:6)(cid:11)(cid:20)(cid:6)(cid:24)(cid:23)(cid:17)
`(cid:1) (cid:35)(cid:5)(cid:20)(cid:23)(cid:6)(cid:15)(cid:2)(cid:7)(cid:2)(cid:17)(cid:9)(cid:11)(cid:14)(cid:2)(cid:20)(cid:6)(cid:12)(cid:23)(cid:23)(cid:17)(cid:15)(cid:11)(cid:14)(cid:4)(cid:7)(cid:2)(cid:20)(cid:6)(cid:11)(cid:14)(cid:6)(cid:22)(cid:11)(cid:14)(cid:15)(cid:23)(cid:22)(cid:6)(cid:20)(cid:16)(cid:4)(cid:12)(cid:2)
`(cid:1) (cid:32)(cid:2)(cid:14)(cid:15)(cid:20)(cid:6)(cid:2)(cid:3)(cid:2)(cid:14)(cid:7)(cid:20)(cid:6)(cid:13)(cid:4)(cid:12)(cid:28)(cid:6)(cid:7)(cid:23)(cid:6)(cid:31)(cid:32)(cid:6)(cid:24)(cid:23)(cid:17)(cid:6)(cid:24)(cid:19)(cid:17)(cid:7)(cid:8)(cid:2)(cid:17)(cid:6)(cid:16)(cid:17)(cid:23)(cid:12)(cid:2)(cid:20)(cid:20)(cid:11)(cid:14)(cid:10)
`
`15
`
`2004 X Developer's Conference
`
`15
`
`
`
`Graphics System and X11 Integration
`
`OGL App
`
`OGL Capture
`
`OGL
`Capture
`
`3D WM or Project
`Looking Glass-aware App
`3D Widget
`Library
`3D Client
`Management
`
`SG Client Lib
`
`3D Object
`Events
`
`Scene
`Graph
`Updates
`Display Server
`Scene Graph Manager
`
`OpenGL
`
`Display Server
`
`16
`
`2004 X Developer's Conference
`
`X Client Application
`
`XExt
`DIX
`Composite
`X Server
`
`Pixmap
`
`16
`
`
`
`Graphics Platform Detailed View
`
`3D Object
`Events
`Display
`Server
`
`SceneGraph
`Manager
`
`OpenGL
`
`Picker
`
`Texture
`Download
`
`Texture
`
`Display Server
`
`17
`
`2004 X Developer's Conference
`
`X11
`Events
`
`Processed
`X11 Events
`
`DIX
`
`Filtered Low-Level
`Events
`
`Pixmap
`
`Composite
`
`Input Devices
`
`X Server
`
`17
`
`
`
`Output Redirection Detailed View
`
`
`3D Object3D Objb ect
`Events
`Events
`
`DisplayDDDDDDDDDDDDDDDDDDDiiiiiiiiiiiiiiiiiiisssssssssssssssssspppppppppppppppppppppppplllllllllllllllllllaaaaaaaaaaaaaaaaaayyyyyyyyyyyyyyyyyyyyyyyy
`Server
`SSSSSSSSSSSSSSSSSSSSeeeeeeeeeeeeerrrrrrrrrrrrrvvvvvvvvvvvvvrrrrrrrrrrrrrrr eeeeeeeeeeeeerrrrrrrrrrrrr
`
`
`SceneGraphSSSSSSSSSSSSSSSSSSSSSSSSScccccccccccccccccceeeeeeeeeeeeeeeeeennnnnnnnnnnnnnnnneeeeeeeeeeeeeeeeeeGGGGGGGGGGGGGGGGGGGGGGGGGrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaapppppppppppppppppppppppphhhhhhhhhhhhhhhhhhhhhhh
`Manager
`MMMMMMMMMMMMMMMMMMMMMMMMaaaaaaaaaaaaaaaaaannnnnnnnnnnnnnnnnnaaaaaaaaaaaaaaaaaaggggggggggggggggggggggggeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrr
`
`
`Java 3DJJJJJJJaJaJaJaJaJaJaJaJaJaJaJaJaJaJaJaJaJa avavavavavavavavavavavavavavavavava 333333333333333333333333DDDDDDDDDDDDDDDDDDDDDDDD
`
`TechnologyTTTTTTTTTTTTTTTTTTTeeeeeeeeeeeeeecccccccccccccchhhhhhhhhhhhhhhhhhhnnnnnnnnnnnnnnoooooooooooooolllllllllllllllllllooooooooooooooggggggggggggggggyyyyyyyyyyyyyyyy
`
`
`
`PickerPPPPPPPPPPPPPPPPPPPPPPPPPPiiiiiiiiiiiiiiiiiiiiiiiiiicccccccccccccccccccckkkkkkkkkkkkkkkkkkkkkkkkkkeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrr
`
`Texture
`Download
`
`Texture
`
`
`
`Display ServerDisplay Servrr er
`
`18
`
`2004 X Developer's Conference
`
`
`X11X11
`Events
`Events
`
`
`ProcessedProcessed
`Events
`Events
`
`DIX
`
`
`Filtered Low-LevelFiltered Low-Level
`Events
`Events
`
`Pixmap
`
`Composite
`
`
`
`Input DevicesIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIInnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnppppppppppppppppppppppppppppppppppppppppppppppppuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutttttttttttttttttttttttttttttttttttttttttttttt DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee iiiiiiiiiiiivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivivicececececececececececececececececececececececececececececececececececesssssssssssssssssssssssssssssssssss
`
`
`
`X ServerX Servrr er
`
`18
`
`
`
`Key: Composite Extension
`
`(cid:1) Developed by Keith Packard of HP, et al.
`(cid:1) Redirects X11 rendering to a backing
`pixmap
`
`(cid:2) (cid:41)(cid:2)(cid:22)(cid:6)(cid:12)(cid:23)(cid:23)(cid:17)(cid:15)(cid:11)(cid:14)(cid:4)(cid:7)(cid:2)(cid:6)(cid:20)(cid:16)(cid:4)(cid:12)(cid:2)(cid:36)(cid:6)(cid:6)(cid:25)(cid:11)(cid:50)(cid:9)(cid:4)(cid:16)(cid:6)(cid:32)(cid:16)(cid:4)(cid:12)(cid:2)
`(cid:2) (cid:38)(cid:38)(cid:31)(cid:20)(cid:36)(cid:6)(cid:9)(cid:19)(cid:20)(cid:7)(cid:6)(cid:7)(cid:17)(cid:4)(cid:14)(cid:20)(cid:5)(cid:4)(cid:7)(cid:2)(cid:6)(cid:4)(cid:13)(cid:20)(cid:6)(cid:20)(cid:12)(cid:17)(cid:2)(cid:2)(cid:14)(cid:6)(cid:12)(cid:23)(cid:23)(cid:17)(cid:15)(cid:20)(cid:6)(cid:11)(cid:14)(cid:7)(cid:23)(cid:6)(cid:7)(cid:8)(cid:11)(cid:20)(cid:6)(cid:20)(cid:16)(cid:4)(cid:12)(cid:2)(cid:6)
`(cid:1) (cid:25)(cid:17)(cid:11)(cid:9)(cid:11)(cid:7)(cid:11)(cid:3)(cid:2)(cid:6)(cid:12)(cid:23)(cid:23)(cid:17)(cid:15)(cid:11)(cid:14)(cid:4)(cid:7)(cid:2)(cid:20)
`(cid:1) (cid:29)(cid:34)(cid:6)(cid:12)(cid:23)(cid:9)(cid:16)(cid:23)(cid:20)(cid:11)(cid:7)(cid:2)(cid:6)(cid:12)(cid:5)(cid:11)(cid:16)
`(cid:2) (cid:58)(cid:8)(cid:11)(cid:20)(cid:6)(cid:22)(cid:11)(cid:5)(cid:5)(cid:6)(cid:10)(cid:11)(cid:3)(cid:2)(cid:6)(cid:13)(cid:2)(cid:20)(cid:7)(cid:6)(cid:16)(cid:2)(cid:17)(cid:24)(cid:23)(cid:17)(cid:9)(cid:4)(cid:14)(cid:12)(cid:2)
`(cid:2) (cid:59)(cid:19)(cid:7)(cid:6)(cid:7)(cid:23)(cid:6)(cid:4)(cid:3)(cid:23)(cid:11)(cid:15)(cid:6)(cid:9)(cid:23)(cid:15)(cid:11)(cid:24)(cid:18)(cid:11)(cid:14)(cid:10)(cid:6)(cid:4)(cid:6)(cid:38)(cid:38)(cid:31)
`(cid:1) (cid:34)(cid:23)(cid:9)(cid:16)(cid:58)(cid:17)(cid:4)(cid:14)(cid:36)(cid:6)(cid:4)(cid:6)(cid:29)(cid:34)(cid:6)(cid:22)(cid:17)(cid:4)(cid:16)(cid:16)(cid:2)(cid:17)(cid:6)(cid:5)(cid:4)(cid:18)(cid:2)(cid:17)(cid:6)(cid:7)(cid:8)(cid:4)(cid:7)(cid:6)(cid:15)(cid:23)(cid:2)(cid:20)(cid:6)(cid:7)(cid:8)(cid:2)(cid:6)
`(cid:7)(cid:17)(cid:4)(cid:14)(cid:20)(cid:5)(cid:4)(cid:7)(cid:11)(cid:23)(cid:14)(cid:6)(cid:24)(cid:23)(cid:17)(cid:6)(cid:18)(cid:23)(cid:19)
`(cid:1) (cid:34)(cid:4)(cid:14)(cid:6)(cid:19)(cid:20)(cid:2)(cid:6)(cid:22)(cid:8)(cid:2)(cid:14)(cid:6)(cid:18)(cid:23)(cid:19)(cid:6)(cid:15)(cid:23)(cid:14)(cid:39)(cid:7)(cid:6)(cid:8)(cid:4)(cid:3)(cid:2)(cid:6)(cid:7)(cid:8)(cid:2)(cid:6)(cid:38)(cid:38)(cid:31)(cid:6)(cid:20)(cid:23)(cid:19)(cid:17)(cid:12)(cid:2)
`
`19
`
`2004 X Developer's Conference
`
`19
`
`
`
`Input Redirection Detailed View
`
`3D Object
`Events
`Display
`Server
`
`SceneGraph
`Manager
`
`
`Java 3DJJJJJJJaJaJaJaJaJaJaJaJaJaJaJaJaJaJaJaJaJa avavavavavavavavavavavavavavavavava 333333333333333333333333DDDDDDDDDDDDDDDDDDDDDDDD
`
`TechnologyTTTTTTTTTTTTTTTTTTTeeeeeeeeeeeeeecccccccccccccchhhhhhhhhhhhhhhhhhhnnnnnnnnnnnnnnoooooooooooooolllllllllllllllllllooooooooooooooggggggggggggggggyyyyyyyyyyyyyyyy
`
`Picker
`
`
`TextureTTTTTTTTTTTTTTTTTTTTTTeeeeeeeeeeeeeeeeeexxxxxxxxxxxxxxxxxtttttttttttttttttttttttuuuuuuuuuuuuuuuuuurrrrrrrrrrrrrrrrreeeeeeeeeeeeeeeeee
`Download
`DDDDDDDDDDDDDDDDDDDDDDoooooooooooooooowwwwwwwwwwwwwwwwnnnnnnnnnnnnnnnnllllllllllllllllllllllooooooooooooooooaaaaaaaaaaaaaaaadddddddddddddddddddddd
`
`
`
`TextureTTTTTTTTTTTTTTTTTTTTTTTTTeeeeeeeeeeeeeeeeeeeeeeexxxxxxxxxxxxxxxxxxxxxttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuurrrrrrrrrrrrrrrrrrrrrrreeeeeeeeeeeeeeeeeeeeeeeee
`
`
`
`Display ServerDisplay Servrr er
`
`20
`
`
`
`2004 X Developer's Conference2004 X Developer's Conference
`
`X11
`Events
`
`Processed
`Events
`
`DIX
`
`Filtered Low-Level
`Events
`
`
`
`PixmapPPPPPPPPPPPPPPPPPPPPPPPPPiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxmmmmmmmmmmmmmmmmmmaaaaaaaaaaaaaaaaaaaappppppppppppppppppppppppppppppppppp
`
`
`
`CompositeCCCCCCCCCCCCCCCCCCCCCCCCoooooooooooooooooommmmmmmmmmmmmmmmmmppppppppppppppppppppppppoooooooooooooooooossssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiitttttttttttttttttttttttteeeeeeeeeeeeeeeeee
`
`Xevie
`
`
`
`X ServerX Servrr er
`
`20
`
`
`
`Picking Example
`
`Intersection Point
`
`Event
`(x,y)
`
`I am an
`X11 Window
`
`Hit Object
`
`Viewer
`
`Image Plane
`(Screen)
`
`21
`
`2004 X Developer's Conference
`
`21
`
`
`
`Picker
`(cid:1) X Server device events -> Picker
`
`(cid:2) (cid:60)(cid:20)(cid:2)(cid:20)(cid:6)(cid:31)(cid:2)(cid:3)(cid:11)(cid:2)(cid:43)(cid:6)(cid:4)(cid:6)(cid:16)(cid:17)(cid:23)(cid:16)(cid:23)(cid:20)(cid:2)(cid:15)(cid:6)(cid:31)(cid:23)(cid:17)(cid:10)(cid:6)(cid:20)(cid:7)(cid:4)(cid:14)(cid:15)(cid:4)(cid:17)(cid:15)
`(cid:2) (cid:34)(cid:23)(cid:37)(cid:15)(cid:2)(cid:3)(cid:2)(cid:5)(cid:23)(cid:16)(cid:2)(cid:15)(cid:6)(cid:13)(cid:18)(cid:6)(cid:32)(cid:19)(cid:14)(cid:6)(cid:4)(cid:14)(cid:15)(cid:6)(cid:32)(cid:60)(cid:32)(cid:52)
`
`(cid:1) Fires ray toward event x,y into scene
`(cid:1) Determines hit object (intersection)
`(cid:1) Hit object = X11 window
`
`(cid:2) (cid:58)(cid:17)(cid:4)(cid:14)(cid:20)(cid:5)(cid:4)(cid:7)(cid:2)(cid:20)(cid:6)(cid:11)(cid:14)(cid:7)(cid:2)(cid:17)(cid:20)(cid:2)(cid:12)(cid:7)(cid:11)(cid:23)(cid:14)(cid:6)(cid:16)(cid:23)(cid:11)(cid:14)(cid:7)(cid:6)(cid:7)(cid:23)(cid:6)(cid:22)(cid:11)(cid:14)(cid:15)(cid:23)(cid:22)(cid:6)(cid:20)(cid:16)(cid:4)(cid:12)(cid:2)
`(cid:2) (cid:60)(cid:16)(cid:15)(cid:4)(cid:7)(cid:2)(cid:20)(cid:6)(cid:2)(cid:3)(cid:2)(cid:14)(cid:7)(cid:6)(cid:50)(cid:43)(cid:18)
`(cid:2) (cid:32)(cid:2)(cid:7)(cid:20)(cid:6)(cid:2)(cid:3)(cid:2)(cid:14)(cid:7)(cid:6)(cid:22)(cid:11)(cid:14)(cid:15)(cid:23)(cid:22)(cid:6)(cid:24)(cid:11)(cid:2)(cid:5)(cid:15)
`(cid:2) (cid:32)(cid:2)(cid:14)(cid:15)(cid:20)(cid:6)(cid:2)(cid:3)(cid:2)(cid:14)(cid:7)(cid:6)(cid:13)(cid:4)(cid:12)(cid:28)(cid:6)(cid:7)(cid:23)(cid:6)(cid:31)(cid:6)(cid:32)(cid:2)(cid:17)(cid:3)(cid:2)(cid:17)(cid:6)
`(cid:2) (cid:38)(cid:57)(cid:31)(cid:36)(cid:6)(cid:9)(cid:23)(cid:15)(cid:11)(cid:24)(cid:11)(cid:2)(cid:15)(cid:6)(cid:7)(cid:23)(cid:6)(cid:8)(cid:4)(cid:14)(cid:15)(cid:5)(cid:2)(cid:6)(cid:2)(cid:3)(cid:2)(cid:14)(cid:7)(cid:20)(cid:6)(cid:22)(cid:11)(cid:7)(cid:8)(cid:6)(cid:22)(cid:11)(cid:14)(cid:15)(cid:23)(cid:22)(cid:20)(cid:6)(cid:4)(cid:5)(cid:17)(cid:2)(cid:4)(cid:15)(cid:18)(cid:6)(cid:20)(cid:2)(cid:7)
`(cid:1) (cid:31)(cid:61)(cid:58)(cid:23)(cid:42)(cid:11)(cid:14)(cid:15)(cid:23)(cid:22)(cid:49)(cid:51)(cid:6)
`
`22
`
`2004 X Developer's Conference
`
`22
`
`
`
`Future Possibilities
`
`(cid:1) (cid:42)(cid:11)(cid:14)(cid:15)(cid:23)(cid:22)(cid:6)(cid:34)(cid:4)(cid:16)(cid:7)(cid:19)(cid:17)(cid:2)(cid:6)(cid:25)(cid:2)(cid:17)(cid:24)(cid:23)(cid:17)(cid:9)(cid:4)(cid:14)(cid:12)(cid:2)
`(cid:2) (cid:38)(cid:11)(cid:17)(cid:2)(cid:12)(cid:7)(cid:6)(cid:1)(cid:2)(cid:14)(cid:15)(cid:2)(cid:17)(cid:37)(cid:7)(cid:23)(cid:37)(cid:58)(cid:2)(cid:50)(cid:7)(cid:19)(cid:17)(cid:2)(cid:6)(cid:49)(cid:13)(cid:23)(cid:7)(cid:8)(cid:6)(cid:31)(cid:62)(cid:62)(cid:6)(cid:4)(cid:14)(cid:15)(cid:6)(cid:21)(cid:16)(cid:2)(cid:14)(cid:29)(cid:27)(cid:51)
`(cid:2) (cid:57)(cid:14)(cid:7)(cid:2)(cid:17)(cid:16)(cid:17)(cid:23)(cid:12)(cid:2)(cid:20)(cid:20)(cid:6)(cid:20)(cid:8)(cid:4)(cid:17)(cid:2)(cid:15)(cid:6)(cid:7)(cid:2)(cid:50)(cid:7)(cid:19)(cid:17)(cid:2)(cid:20)
`(cid:1) (cid:57)(cid:14)(cid:16)(cid:19)(cid:7)(cid:6)(cid:38)(cid:2)(cid:3)(cid:11)(cid:12)(cid:2)(cid:20)(cid:6)(cid:12)(cid:23)(cid:14)(cid:14)(cid:2)(cid:12)(cid:7)(cid:2)(cid:15)(cid:6)(cid:7)(cid:23)(cid:6)(cid:38)(cid:32)(cid:63)
`(cid:1) Scene Graph
`
`(cid:2) (cid:32)(cid:16)(cid:4)(cid:7)(cid:11)(cid:4)(cid:5)(cid:11)(cid:45)(cid:2)(cid:15)(cid:6)(cid:4)(cid:19)(cid:15)(cid:11)(cid:23)(cid:6)(cid:49)(cid:4)(cid:19)(cid:17)(cid:4)(cid:5)(cid:6)(cid:12)(cid:19)(cid:2)(cid:20)(cid:6)(cid:24)(cid:23)(cid:17)(cid:6)(cid:56)(cid:38)(cid:6)(cid:12)(cid:8)(cid:4)(cid:7)(cid:6)(cid:22)(cid:11)(cid:14)(cid:15)(cid:23)(cid:22)(cid:20)(cid:64)(cid:51)
`(cid:2) (cid:25)(cid:17)(cid:23)(cid:10)(cid:17)(cid:4)(cid:9)(cid:9)(cid:4)(cid:13)(cid:5)(cid:2)(cid:6)(cid:20)(cid:8)(cid:4)(cid:15)(cid:2)(cid:17)(cid:20)
`(cid:2) (cid:42)(cid:11)(cid:5)(cid:15)(cid:6)(cid:20)(cid:7)(cid:19)(cid:24)(cid:24)
`(cid:1) (cid:25)(cid:8)(cid:18)(cid:20)(cid:11)(cid:12)(cid:20)(cid:6)(cid:20)(cid:11)(cid:9)(cid:19)(cid:5)(cid:4)(cid:7)(cid:11)(cid:23)(cid:14)
`(cid:1) (cid:34)(cid:23)(cid:5)(cid:5)(cid:11)(cid:20)(cid:11)(cid:23)(cid:14)(cid:6)(cid:15)(cid:2)(cid:7)(cid:2)(cid:12)(cid:7)(cid:11)(cid:23)(cid:14)
`(cid:1) (cid:25)(cid:4)(cid:17)(cid:7)(cid:11)(cid:12)(cid:5)(cid:2)(cid:6)(cid:20)(cid:18)(cid:20)(cid:7)(cid:2)(cid:9)(cid:20)
`(cid:1) (cid:42)(cid:8)(cid:4)(cid:7)(cid:6)(cid:12)(cid:4)(cid:14)(cid:6)(cid:18)(cid:23)(cid:19)(cid:6)(cid:11)(cid:9)(cid:4)(cid:10)(cid:11)(cid:14)(cid:2)(cid:63)
`
`23
`
`2004 X Developer's Conference
`
`23
`
`
`
`Let's Collaborate!
`(cid:1) 3D window system area is in its infancy
`(cid:1) Lots of room for collaborative innovation
`(cid:1) (cid:27)(cid:2)(cid:7)(cid:39)(cid:20)(cid:6)(cid:12)(cid:23)(cid:5)(cid:5)(cid:4)(cid:13)(cid:23)(cid:17)(cid:4)(cid:7)(cid:2)(cid:6)(cid:7)(cid:23)(cid:6)(cid:13)(cid:19)(cid:11)(cid:5)(cid:15)(cid:6)(cid:4)(cid:6)(cid:16)(cid:17)(cid:2)(cid:9)(cid:11)(cid:2)(cid:17)(cid:6)(cid:56)(cid:38)(cid:6)
`(cid:22)(cid:11)(cid:14)(cid:15)(cid:23)(cid:22)(cid:6)(cid:20)(cid:18)(cid:20)(cid:7)(cid:2)(cid:9)(cid:6)(cid:16)(cid:5)(cid:4)(cid:7)(cid:24)(cid:23)(cid:17)(cid:9)
`(cid:1) (cid:32)(cid:19)(cid:14)(cid:6)(cid:11)(cid:20)(cid:6)(cid:22)(cid:11)(cid:5)(cid:5)(cid:11)(cid:14)(cid:10)(cid:6)(cid:7)(cid:23)(cid:6)(cid:12)(cid:23)(cid:14)(cid:7)(cid:17)(cid:11)(cid:13)(cid:19)(cid:7)(cid:2)(cid:36)
`(cid:2) (cid:57)(cid:15)(cid:2)(cid:4)(cid:20)
`(cid:2) (cid:34)(cid:23)(cid:15)(cid:2)
`(cid:2) (cid:52)(cid:14)(cid:10)(cid:11)(cid:14)(cid:2)(cid:2)(cid:17)(cid:11)(cid:14)(cid:10)
`
`24
`
`2004 X Developer's Conference
`
`24
`
`
`
`Overview of Technical Info
`
`(cid:1) High-level Architecture Overview
`(cid:1) Graphics Platform
`(cid:1) Client-side API
`(cid:1) How All the Pieces Interact
`(cid:1) Possible Areas of Collaboration
`
`25
`
`2004 X Developer's Conference
`
`25
`
`
`
`APIs for 3D Desktop Development
`Platform for further exploration
`
`
`3D Window Manager3333333333333DDDDDDDDDDDD WWWWWWWWWWWWiiiiiiiiiiiinnnnnnnnnnnndddddddddddddooooooooooooowwwwwwwwwwww MMMMMMMMMMMMaaaaaaaaaaaaannnnnnnnnnnnaaaaaaaaaaaaagggggggggggggggggggeeeeeeeeeeeeerrrrrrrrrrrr
`
`or Project Looking Glass-awareooooooooooooooorrrrrrrrrrrrrr PPPPPPPPPPPPPPPPPPrrrrrrrrrrrrrrooooooooooooooojjjjjjjjjjjjjjjjjjjjjjjjooooooooooooooo eeeeeeeeeeeeeeecccccccccccccccttttttttttttttttttt LLLLLLLLLLLLLLLLLLooooooooooooooooooooooooooooookkkkkkkkkkkkkkkkkkiiiiiiiiiiiiiiiiiinnnnnnnnnnnnnngggggggggggggggggggg GGGGGGGGGGGGGGGGGGGllllllllllllllllllaaaaaaaaaaaaaaassssssssssssssssssssssssssssss----aaaaaaaaaaaaaaawwwwwwwwwwwwwaaaaaaaaaaaaaaarrrrrrrrrrrrrreeeeeeeeeeeeeee
`
`3D Application3333333333333DDDDDDDDDDDDD AAAAAAAAAAAAAppppppppppppppppllllllllllllliiiiiiiiiiiiiccccccccaaaaaaaattttttttttttiiiiiiiiiiiiioooooooonnnnnnnn
`
`API
`Project Looking Glass
`Libraries
`
`
`
`Display ServerDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiisssssssssssssssssssssssssssssssssssspppppppppppppppppppppppppppppppppppppppppppppppplllllllllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
`
`
`
`X Client ApplicationXXXXXXXXXXXXXXXXXXXXXXX CCCCCCCCCCCCCCCCCCCCCCCCllllllllllllllllllllllliiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeennnnnnnnnnnnnnnnnttttttttttttttttttttttt AAAAAAAAAAAAAAAAAAAAAAAppppppppppppppppppppppppppppppppppppppppppppppppllllllllllllllllllllllliiiiiiiiiiiiiiiiiiiiiiiccccccccccccccccccaaaaaaaaaaaaaaaaaatttttttttttttttttttttttiiiiiiiiiiiiiiiiiiiiiiioooooooooooooooooonnnnnnnnnnnnnnnnn
`
`
`Java 3D TechnologyJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 333333333333333333333333333333333333333333DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTeeeeeeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccccccccchhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhnnnnnnnnnnnnnnnnnnnnnnnnnnoooooooooooooooooooooooooolllllllllllllllllllllllllllllllllloooooooooooooooooooooooooogggggggggggggggggggggggggggggggyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
`
`Graphics PlatformGraphics Platform
`
`
`X ServerXXXXXXXXXXXXX SSSSSSSSSSSSSeeeeeeeeeeeeerrrrrrrrrrrrrvvvvvvvvvvvvvrrrrrrrrrrrrrr eeeeeeeeeeeeerrrrrrrrrrrrr
`
`X Client CaptureXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCllllllllllllllllllllllllllllllllllllllllliiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeennnnnnnnnnnnnnnnnnnnnnnnnnnnnnttttttttttttttttttttttttttttttttttttttttt CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapppppppppppppppppppppppppppppppppptttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuurrrrrrrrrrrrrrrrrrrrrrrrrrrrrreeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
`
`26
`
`2004 X Developer's Conference
`
`26
`
`
`
`APIs for 3D Desktop Development
`Platform for further exploration - Proposal
`(cid:1) Core APIs to kick start the exploration
`(cid:1) Java technology based reference implementation
`(cid:1) Java 3D API-based scene graph (feature subset)
`+ Base classes for developing 3D widget set
`(cid:1) Support for integration of existing applications
`(cid:1) Focus on animation support
`
`An example of 3D Container with animation
`
`27
`
`2004 X Developer's Conference
`
`27
`
`
`
`APIs for 3D Desktop Development
`High-level block diagram - Proposal
`
`A Sample 3D Window Manager
`
`Utility Classes
`
`Foundation Components
`
`SceneManager
`Application3D class
`Container3D
`Component3D
`Action
`EventReceiver
`3D Client
`Mgmt
`
`X11Window3D class
`X11
`Window Manager
`Adapter
`
`X11 Lib
`
`Scene Graph Lib
`
`28
`
`2004 X Developer's Conference
`
`Core components
`
`Java3D-API based
`
`X Integration
`
`28
`
`
`
`How All the Pieces Interact...
`Example: Window creation and resize
`
`3D Window Manager
`or Project Looking Glass-aware
`3D Application
`
`API
`Project Looking Glass
`Libraries
`X11 Integration
`
`Display Server
`
`X Client Application
`
`Java 3D Technology
`Graphics Platform
`
`X Server
`X Client Capture
`
`29
`
`2004 X Developer's Conference
`
`29
`
`
`
`How All the Pieces Interact...
`Example: Window Creation
`
`
`3D Window Manager3333333333333DDDDDDDDDDDD WWWWWWWWWWWWiiiiiiiiiiiinnnnnnnnnnnndddddddddddddooooooooooooowwwwwwwwwwww MMMMMMMMMMMMaaaaaaaaaaaaannnnnnnnnnnnaaaaaaaaaaaaagggggggggggggggggggeeeeeeeeeeeeerrrrrrrrrrrr
`
`or Project Looking Glass-awareooooooooooooooorrrrrrrrrrrrrr PPPPPPPPPPPPPPPPPPrrrrrrrrrrrrrrooooooooooooooojjjjjjjjjjjjjjjjjjjjjjjjooooooooooooooo eeeeeeeeeeeeeeecccccccccccccccttttttttttttttttttt LLLLLLLLLLLLLLLLLLooooooooooooooooooooooooooooookkkkkkkkkkkkkkkkkkiiiiiiiiiiiiiiiiiinnnnnnnnnnnnnngggggggggggggggggggg GGGGGGGGGGGGGGGGGGGllllllllllllllllllaaaaaaaaaaaaaaassssssssssssssssssssssssssssss----aaaaaaaaaaaaaaawwwwwwwwwwwwwaaaaaaaaaaaaaaarrrrrrrrrrrrrreeeeeeeeeeeeeee
`
`3D Application3333333333333DDDDDDDDDDDDD AAAAAAAAAAAAAppppppppppppppppllllllllllllliiiiiiiiiiiiiccccccccaaaaaaaattttttttttttiiiiiiiiiiiiioooooooonnnnnnnn
`
`4
`
`APIAPI
`5
`
`Project Looking GlassPPPPPPPPPPPPPPPPrrrrrrrrrrrrrrrroooooooooooooooojjjjjjjjjjjjjjjjjjjjjjoooooooooooooooo eeeeeeeeeeeeeeeecccccccccccccccctttttttttttttttt LLLLLLLLLLLLLLLLooooooooooooooooooooooooooooooookkkkkkkkkkkkkkkkiiiiiiiiiiiiiiiinnnnnnnnnnnnnnnngggggggggggggggggggggg GGGGGGGGGGGGGGGGllllllllllllllllaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssss
`LLLLLLLLLLLLLLLiiiiiiiiiiiiiiibbbbbbbbbbbbbbbrrrrrrrrrraaaaaaaaaarrrrrrrrrriiiiiiiiiiiiiiieeeeeeeeeessssssssss
`Libraries
`
`X11 IntegrationXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX111111111111111111111111111111111111111111111111111111111111111111111111 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIInnnnnnnnnnnnnnnnnnnnnnnnnnnttttttttttttttttttttttttttttttttttttteeeeeeeeeeeeeeeeeeeeeeeeeeeegggggggggggggggggggggggggggggrrrrrrrrrrrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaaaaaaaaaaatttttttttttttttttttttttttttttttttttttiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioooooooooooooooooooooooooooonnnnnnnnnnnnnnnnnnnnnnnnnnn
`
`
`
`X Client ApplicationXXXXXXXXXXXXXXXXXXXXXXX CCCCCCCCCCCCCCCCCCCCCCCCllllllllllllllllllllllliiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeennnnnnnnnnnnnnnnnttttttttttttttttttttttt AAAAAAAAAAAAAAAAAAAAAAAppppppppppppppppppppppppppppppppppppppppppppppppllllllllllllllllllllllliiiiiiiiiiiiiiiiiiiiiiiccccccccccccccccccaaaaaaaaaaaaaaaaaatttttttttttttttttttttttiiiiiiiiiiiiiiiiiiiiiiioooooooooooooooooonnnnnnnnnnnnnnnnn
`
`1
`
`3
`
`
`
`Display ServerDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiisssssssssssssssssssssssssssssssssssspppppppppppppppppppppppppppppppppppppppppppppppplllllllllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
`
`2
`
`
`X ServerXXXXXXXXXXXXX SSSSSSSSSSSSSeeeeeeeeeeeeerrrrrrrrrrrrrvvvvvvvvvvvvvrrrrrrrrrrrrrr eeeeeeeeeeeeerrrrrrrrrrrrr
`
`X Client CaptureXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCllllllllllllllllllllllllllllllllllllllllliiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeennnnnnnnnnnnnnnnnnnnnnnnnnnnnnttttttttttttttttttttttttttttttttttttttttt CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapppppppppppppppppppppppppppppppppptttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuurrrrrrrrrrrrrrrrrrrrrrrrrrrrrreeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
`
`
`Java 3D TechnologyJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 333333333333333333333333333333333333333333DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTeeeeeeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccccccccchhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhnnnnnnnnnnnnnnnnnnnnnnnnnnoooooooooooooooooooooooooollllllllllllllllllllllllllllllllllooooooooooooooooooooooooooggggggggggggggggggggg