project looking glass2005 javaonesm conference | session 7992 | 3 what is project looking glass?...

32
2005 JavaOne SM Conference | Session 7992 TS-7992 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

Upload: others

Post on 31-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992

TS-7992

Project Looking GlassCool LG3D Apps and How to Write Them

Hideya Kawahara

Paul Byrne

LG3D Project Owners

Sun Microsystemshttp://lg3d.dev.java.net

Page 2: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 2

What's Cool and How You Can Do It!

Latest Updates

Lots of Demos!

Coding Examples

Moving Forward...

Learn more about Next Generation 3D Desktop Apps

Page 3: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 3

What is Project Looking Glass?

● Next Generation 3D UI exploration project● Based on Java

TM

Technology● Hosts existing 2D apps in a 3D space● Provides APIs for 3D app development● Evolving in the open source community

http://lg3d.dev.java.net

Page 4: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 4

One year after open sourced...

Year's Progress

● Open sourced in JavaOne 2004● More stable, esp. X11 integration● LG3D App API● Community growing● Apps being developed

Page 5: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 5

DEMOsLG3D ApplicationsDeveloped by the Community Members!

http://lg3d-incubator.dev.java.net

* Photos are of key contributors

Page 6: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 6

Image Viewer with a Touch of 3D...

Zoetrope

Yuichi Sakuraba

Page 7: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 7

Music Player Meets a 3D Space...

GigAGig

Yuichi Sakuraba

Page 8: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 8

Which Background Do You Use Today?

BgManager

Radek Kierner

Academy of Humanities and Economics,Poland

Page 9: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 9

Award Wining 3D Media Player!

Alice

Cooper PorterBen MarshNeal MeierJustin LegaryDan Lueth

University of Colorado, USA

http://alice.dev.java.net“Best in Group” at the University of Colorado Design Expo 2005!

Page 10: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 10

Page 11: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 11

“Geez, too many planets on my orbit!”

CosmoSchedulerD

YAKUSHIJI KojiMAEDA YoshifumiMINAMISAKO HirokazuKOIDE Hiroshi

Kyushu Institute of Technology,Japan

Page 12: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 12

James Burke

Page 13: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 13

Making History Engaging!

James Burke's Knowledge Web

http://www.k-web.org

Patrick McKercher Jim Zaun

Page 14: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 14

Our James

Page 15: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 15

How many James do you want?

3D Model Integration

http://eitarosoft.co.jp

Eitaro Nishijima, CEO

Page 16: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 16

A Quick Peek at LG3D Programming

How to Create Such LG3D Apps?

● High-level View of LG3D Desktop and API● Overview of LG3D Components Use● Coding Examples

More Info:

LG3D Tutorial: http://lg3d-core.dev.java.net/tutorial/

Page 17: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 17

It's a “Deep” 3D Environment

LG3D Desktop

Frame3D

Taskbar

Global Light

Background

Page 18: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 18

Built on Top of Java 3DTM

LG3D API

LG3D SceneGraph Classes

• Based on Java 3D

LG3D Specialized Classes

• Component Model

• Animation System

• SceneManager Interaction

Component3DContainer3DFrame3DMouseEvent3DLgEventListenerAnimation...

GeometryShape3DAppearanceGroupTransformGroup...

LG3D App

J2SE

Page 19: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 19

Relationship among Java 3D-based and LG3D classes

LG3D Class Relationship

Node Group

Leaf

Shape3D

Appearance

SimpleAppearance

<<interface>>LayoutManager3D

Component3D

+ setTranslation+ changeTranslation+ setAnimation+ setCursor

Container3D

+ setLayout

Frame3D

+ setActive

AppContainer

<<interface>>SceneManager

+initialize+addFrame3D+removeFrame3D

Animation

Component3DAnim

Java 3D-based LG3D class

**

**

Inheritance ReferenceSceneManager related

SceneManagerBase

+setCursorModule+registerTaskbar+getAppContainer

TransformGroup

AnimationGroup

ModelLoaderBranchGroup

Cursor3D

...utils.shape.* ...utils.animation.*

...utils.c3danimation.*

CursorModule

Page 20: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 20

In Zoetrope Case...

LG3D Component Use Case

Container3D+ MouseWheelEventAdapter

+ LayoutManager3D

Frame3D

FuzzyEdgePanel

GlassyPanel

Component3D+ MouseClickedEventAdapter

+ NaturalMotionAnimaiton

GlassyPanel

Page 21: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 21

Basic Structure of LG3D App

Frmae3D frame = new Frame3D();

Container3D container = new Container3D();

Component3D comp = new Component3D();

// Creation of a shape – set geometry,// appearance, texture, animation, etc.

comp.addChild(aShape);// Initialize event handling comp.addListener(anEventListener);// Initialize animation comp.setAnimation(anAnimation);

container.addChild(comp);

frame.addChild(container);

frame.changeVisibility(true);frame.changeEnabled(true);

Page 22: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 22

Basic Structure of LG3D App

Frmae3D frame = new Frame3D();

Container3D container = new Container3D();

Component3D comp = new Component3D();

// Creation of a shape – set geometry,// appearance, texture, animation, etc.

comp.addChild(aShape);// Initialize event handling comp.addListener(anEventListener);// Initialize animation comp.setAnimation(anAnimation);

container.addChild(comp);

frame.addChild(container);

frame.changeVisibility(true);frame.changeEnabled(true);

Page 23: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 23

Event and Animation SystemTwo of LG3D API's Key Focuses

Component3D

● Rich User Feedback

● Natural and Componentized Transition Animation

C3D Animation

EventAdapter Action

C3DAnimationTarget

Transform3D

EventListener Action

NaturalMotionAnimation,LinearAnimation, ...

MouseEnteredEventAdapter,MousePressedEventAdapter,...

ScaleAction,RotateAction,...

Page 24: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 24

Component3D comp = new Component3D();// Initialize a shape and add itSimpleAppearance app = new SimpleAppearance(0.6f, 0.8f, 0.6f);Box box = new Box(0.04f, 0.03f, 0.02f, app);comp.addChild(box);// Initialize animation comp.setAnimation( new NaturalMotionAnimation(1000));// Initialize event handling comp.addListener( // When mouse enters to the component... new MouseEnteredEventAdapter( // enlarge it by 20% new ScaleActionBoolean(comp, 1.2f)));

Event and Animation System

Page 25: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 25

Event and Animation System

Component3D comp = new Component3D();// Initialize a shape and add itSimpleAppearance app = new SimpleAppearance(0.6f, 0.8f, 0.6f);Box box = new Box(0.04f, 0.03f, 0.02f, app);comp.addChild(box);// Initialize animation comp.setAnimation( new NaturalMotionAnimation(1000));// Initialize event handling comp.addListener( // When mouse enters to the component... new MouseEnteredEventAdapter( // enlarge it by 20% new ScaleActionBoolean(comp, 1.2f)));

MousePressedEventAdapter

Page 26: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 26

Event and Animation System

Component3D comp = new Component3D();// Initialize a shape and add itSimpleAppearance app = new SimpleAppearance(0.6f, 0.8f, 0.6f);Box box = new Box(0.04f, 0.03f, 0.02f, app);comp.addChild(box);// Initialize animation comp.setAnimation( new NaturalMotionAnimation(1000));// Initialize event handling comp.addListener( // When mouse enters to the component... new MouseEnteredEventAdapter( // enlarge it by 20% new ScaleActionBoolean(comp, 1.2f)));

MousePressedEventAdapter

RotateActionBoolean( comp, (float)Math.PI)

Page 27: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 27

What's in the pipe line...

Moving Forward

● 0.7 Release

● Next Year

Page 28: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 28

Just released! Phew!

0.7 Release

● WebStart support http://lg3d-webstart.dev.java.net

● “App” modeEnable to run full LG3D on top of user's existing desktop

● Java 3D 1.4Performance improvements

New features – shader support

● support

Page 29: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 29

What's in the pipe line...

Next Year

● Ease of Development● Tool chain, tool integration● Visualization library● “SwingNode” support

● Enriching the platform● Inclusion of Identity & Collaboration features● Task oriented User Interface

Discussions are taking place at the LG3D forum http://lg3d-core.dev.java.net/ Please join us!

Page 30: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 30

Have you seen...

Pavilion Demos

● “Philco” running LG3D?● LG3D Look & Feel mock-up

on cellphone?● LG3D on 3D LCD Display?

Experimental PowerPC Embedded Board

Actius AL3DUCourtesy of Sharp Corp.

Page 31: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 31

Conclusion...

Project Looking Glass

Open Platform for Innovation!http://lg3d-core.dev.java.net/

Page 32: Project Looking Glass2005 JavaOneSM Conference | Session 7992 | 3 What is Project Looking Glass? Next Generation 3D UI exploration project Based on Java TM Technology Hosts existing

2005 JavaOneSM

Conference | Session 7992 | 32

Q&AGo 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