Project Looking Glass Cool LG3D Apps and How to Write Them Hideya Kawahara

Project Looking Glass
Cool LG3D Apps and
How to Write Them
Hideya Kawahara
Paul Byrne
LG3D Project Owners
Sun Microsystems
http://lg3d.dev.java.net
Session 7992
Copyright © 2005, Sun Microsystems Inc., All rights reserved
2005 JavaOne Conference | Session 7992
SM
What’s Cool and How You Can Do It!
Learn more about Next Generation 3D Applications
Latest Updates
Lots of Demos!
Coding Examples
Moving Forward...
SM
2005 JavaOne Conference | Session 7992 |
2
What Is Project Looking Glass?
●
●
●
●
●
Next generation 3D™ application
exploration project
Based on Java™ Technology
Hosts existing 2D™ apps in a 3D space
Provides APIs for 3D app development
Evolving with the opensource community
http://lg3d.dev.java.net
SM
2005 JavaOne Conference | Session 7992 |
3
Year’s Progress
One year after opensourced…
●
●
●
●
●
Opensourced in 2004 JavaOneSM Conference
More stable, esp. X11 integration
LG3D API
Community growing
Apps being developed
SM
2005 JavaOne Conference | Session 7992 |
4
DEMOs
Community-Developed
LG3D Applications!
http://lg3d-incubator.dev.java.net
SM
2005 JavaOne Conference | Session 7992 |
5
Zoetrope
Image Viewer with a touch of 3D…
Yuichi Sakuraba
SM
2005 JavaOne Conference | Session 7992 |
6
GigAGig
Music player meets a 3D space…
Yuichi Sakuraba
Note: JOAL is used for the sound generation
SM
2005 JavaOne Conference | Session 7992 |
7
Alice
Award-winning 3D media player!
Cooper Porter
Ben Marsh
Neal Meier
Justin Legary
Dan Lueth
University of Colorado,
USA
http://alice.dev.java.net
“Best in Group” at the University of Colorado Design Expo, 2005.
SM
2005 JavaOne Conference | Session 7992 |
8
BgManager
Which background do you use today?
Radek Kierner
Academy of
Humanities and
Economics,
Poland
SM
2005 JavaOne Conference | Session 7992 |
9
CosmoSchedulerD
“Geez, too many planets on my orbit!”
Hiroshi Koide
Koji Yakushiji
Yoshifumi Maeda
Hirokazu Minamisako
Kyushu Institute
of Technology,
Japan
SM
2005 JavaOne Conference | Session 7992 |
10
VT-Mail
Magic Magnet that attracts e-mails and you…
Fumitaro Goto
Kitami Institute
of Technology,
Japan
SM
2005 JavaOne Conference | Session 7992 |
11
How to Create Such LG3D Apps?
A quick peek at LG3D programming
High-level View of LG3D and API
Overview of LG3D Components Use
Demo of Animation System Coding
More Info:
LG3D Tutorial: http://lg3d-core.dev.java.net/tutorial/
SM
2005 JavaOne Conference | Session 7992 |
12
LG3D
It’s a “deep” 3D environment
Global Light
Background
Frame3D
Taskbar
SM
2005 JavaOne Conference | Session 7992 |
13
LG3D API
Built on top of Java 3D™ API
LG3D App
LG3D Specialized Classes
• Component Model
• Animation System
• SceneManager Interaction
LG3D SceneGraph Classes
• Based on Java 3D API
J2SE
Component3D
Container3D
Frame3D
MouseEvent3D
LgEventListener
Animation
…
Geometry
Shape3D
Appearance
Group
TransformGroup
…
SM
2005 JavaOne Conference | Session 7992 |
14
LG3D Class Relationship
Relationship among Java 3D Technology and LG3D classes
Node
Group
Leaf
BranchGroup
Com ponent3D
M ode lLoader
Trans form Group
+ setTranslation
+ changeTranslation
+ setAnimation
+ setCursor
Cursor3D
Container3D
<<interf ace>>
*
*
Shape 3D
Anim ationGroup
Anim ation
La youtM a na ger3D
+ setLayout
Appe arance
Com ponent3DAnim
AppContaine r
Fram e 3D
...utils.s hape.*
Sim pleAppe arance
...utils .anim ation.*
...utils .c3danim ation.*
+ setActive
<<interf ace>>
*
*
CursorM odule
Sce ne M anagerBase
SceneM ana ger
+initialize
+addFrame3D
+removeFrame3D
Java 3D-based
LG3D class
SceneManager related
Inhe ritance
+setCursorModule
+registerTaskbar
+getAppContainer
Refere nce
SM
2005 JavaOne Conference | Session 7992 |
15
LG3D Component Use Case
In Zoetrope case...
Frame3D
GlassyPanel
FuzzyEdgePanel
GlassyPanel
Component3D
+ MouseClickedEventAdapter
+ NaturalMotionAnimaiton
Container3D
+ MouseWheelEventAdapter
+ LayoutManager3D
SM
2005 JavaOne Conference | Session 7992 |
16
Basic Structure of LG3D App
Frmae3D frame = new Frame3D();
Container3D container = new Container3D();
// Creation of a shape – set geometry,
// appearance, texture, animation, etc.
Component3D comp = new Component3D();
comp.addChild(shape);
// Initialize event handling and animation
// against this component
comp.addListener(anEventListener);
comp.addAnimation(anAnimation);
container.addChild(comp);
frame.addChild(container);
frame.changeVisibility(true);
frame.changeEnabled(true);
SM
2005 JavaOne Conference | Session 7992 |
17
Coding Example
A Simple Example of Animation Usage...
SM
2005 JavaOne Conference | Session 7992 |
18
Moving Forward
What’s in the pipeline...
0.7 Release
Next Year
SM
2005 JavaOne Conference | Session 7992 |
19
0.7 Release
Just released today!
●
●
Java Web Start support
“App” mode
●
●
Java 3D API 1.4
●
●
●
Enable to run full LG3D as an X app
Performance improvements
New features—shader support
Solaris™ x86 support
SM
2005 JavaOne Conference | Session 7992 |
20
Next Year
What’s in the pipe line...
●
●
●
●
Ease-of-development
Tool chain, tool integration
Visualization library
“SwingNode” support
SM
2005 JavaOne Conference | Session 7992 |
21
Next Year (Cont.)
What’s in the pipeline...
●
●
●
●
Enriching the platform
Inclusion of identity and collaboration features
Unified UI and data model for shared info
Discussions are taking place at the LG3D forum
●
●
http://javadesktop.org/forums/
Please join with us!
SM
2005 JavaOne Conference | Session 7992 |
22
Q&A
Go run it! http://lg3d-webstart.dev.java.net
Go get it! http://lg3d-core.dev.java.net
Community Meeting Today at 6pm!
in the City Room at the Argent Hotel
SM
2005 JavaOne Conference | Session 7992 |
23
Submit Session Evaluations for Prizes!
Your opinions are important to Sun
●
You can win a $75.00 gift certificate to the on-site
Retail Store by telling Sun what you think!
●
Turn in completed forms to enter the daily drawing
●
Each evaluation must be turned in the same day
as the session presentation
●
Five winners will be chosen each day
(Sun will send the winners e-mail)
●
Drop-off locations: give to the room monitors or use any
of the three drop-off stations in the North and South Halls
Note: W inners on Thursday, 6/30, will receive and can redeem
certificates via e-mail.
SM
2005 JavaOne Conference | Session 7992 |
24
Project Looking Glass
Cool LG3D Apps and
How to Write Them
Hideya Kawahara
Paul Byrne
LG3D Project Owners
Sun Microsystems
http://lg3d.dev.java.net
Session 7992
Copyright © 2005, Sun Microsystems Inc., All rights reserved
2005 JavaOne Conference | Session 7992
SM