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
© Copyright 2025