SlideShare a Scribd company logo
gyuque, Satoshi Ueyama




2009   7   12
What’s O3D




                Google
2009   7   12
What’s O3D

                                Javascript
                                                            Flash Player
       object                                               QuickTime plugin
                        IE               Firefox, Safari…
                   ActiveX                 NPAPI
                                                             Canvas




            •   Flash   QT
            •    O3D
                (Google Gears        )
2009   7   12
What’s O3D


                 API
                        O3D           VRML    Direct3D RM


                API         OpenGL           Direct3D IM


                              JS !
                                                    " HW
                       2D Canvas !   2D



2009   7   12
What’s O3D

                O3D
                  API




                      !"#$%&"#%$&"&"!!'!
                      !"#(%&"#$$&"&"!!)!
                      !"&&&&"&&&&*&"!!+!
                      !"&&&&"&&&&"&*!!,!




2009   7   12
What’s Scene Graph
  1.

                scene {                      !
                   object {
                                                 API
                     material(red) {
                        faces {               DOM
                            [0,0, 1,0 0,1]
                        }
                     }
                     material(blue) {                   json
                        faces {
                            [0,2, 3,0 0,4]
                        }
                     }
                   }
                }



                                                       2.

2009   7   12
Reading Sample Code

                            !"#$%&'(')
                            **+,-#&./
                            **0#11'2132'#-"24"5$2+60/
                            **789#2#:""2;<




                                          json




2009   7   12
2009   7   12
2009   7   12
Working with Scene Graph
                                   Transform


                                   Transform


                                   Transform

                            Material
                          Parent
                 Child
                                                         DrawList
       Shape    Parent
                         Child Primitive
                               position list: [0,0, 0,1, 1,1]
                               index list: [0,1,2]
2009   7   12
Working with Scene Graph

                DOM
           parent.appendChild( child );
                O3D
           child.parent = parent;          ! add   append
                                                            (addShape   )
                 !
            t = pack.createObject('Transform');
            t.parent = o3dClient.root;



2009   7   12
Demo - js touch on O3D




2009   7   12
2D on O3D



                Mozilla Party

                2D




2009   7   12
2D on O3D
                2D


                          Canvas provides an interface for drawing text and
                          2D primitives on a 2D surface.




           O3D Canvas :       2D                                   API


2009   7   12
2D on O3D




2009   7   12
2009   7   12
2D on O3D




                       Canvas




2009   7   12
2D on O3D

                              ?@>




                @A>


           BC*D*B*E*F3?@>*G*=4>
           8C*D*8*E*GF3@A>*H*=4>
                                    •
                      =4>
                                    •
                                    • Shape
                             =4>


                                              Canvas
2009   7   12
Demo - O3D BallPool




                                  O3D

           Canvas   by Mr. doob
2009   7   12
Demo - O3D BallPool




                    on Internet Explorer
2009   7   12
Demo - O3D BallPool


                             O3D plugin        V8 JS Engine
                                          V8




                "V8   Demo


2009   7   12
•
                •       2D Canvas
                • API




2009   7   12
•
                •       2D Canvas
                • API




2009   7   12
Enjoy O3D Programming

                   Thank You.




2009   7   12

More Related Content

Similar to JUI 2009 O3D Programming

Leaving Flatland: Getting Started with WebGL- SXSW 2012
Leaving Flatland: Getting Started with WebGL- SXSW 2012Leaving Flatland: Getting Started with WebGL- SXSW 2012
Leaving Flatland: Getting Started with WebGL- SXSW 2012
philogb
 
CanvasGL, a GPU-accelerated WebKit
CanvasGL, a GPU-accelerated WebKitCanvasGL, a GPU-accelerated WebKit
CanvasGL, a GPU-accelerated WebKit
company100inc
 
Introducing canvas gl (company100)
Introducing canvas gl (company100)Introducing canvas gl (company100)
Introducing canvas gl (company100)
company100inc
 
CanvasGL, a GPU-accelerated WebKit
CanvasGL, a GPU-accelerated WebKitCanvasGL, a GPU-accelerated WebKit
CanvasGL, a GPU-accelerated WebKit
company100inc
 
领域驱动设计实例讲解
领域驱动设计实例讲解领域驱动设计实例讲解
领域驱动设计实例讲解
Jacky Chi
 
MS TechDays 2011 - HTML 5 All the Awesome Bits
MS TechDays 2011 - HTML 5 All the Awesome BitsMS TechDays 2011 - HTML 5 All the Awesome Bits
MS TechDays 2011 - HTML 5 All the Awesome Bits
Spiffy
 
2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개
2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개
2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개
Yongho Ji
 
Agic 2009 Losing My Religion Gis Interoperability
Agic 2009 Losing My Religion   Gis InteroperabilityAgic 2009 Losing My Religion   Gis Interoperability
Agic 2009 Losing My Religion Gis Interoperability
Richard Chappell, GISP
 
Away3d workshop slides
Away3d workshop slidesAway3d workshop slides
Away3d workshop slides
Jens Brynildsen
 
HTML5 for the Silverlight Guy
HTML5 for the Silverlight GuyHTML5 for the Silverlight Guy
HTML5 for the Silverlight Guy
David Padbury
 
JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall
JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 FallJavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall
JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall
Yuichi Sakuraba
 
HTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymoreHTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymore
Remy Sharp
 
Couchdb
CouchdbCouchdb
Couchdb
Kota Sakoda
 
Designing an Objective-C Framework about 3D
Designing an Objective-C Framework about 3DDesigning an Objective-C Framework about 3D
Designing an Objective-C Framework about 3D
rsebbe
 
[SSS 2nd] 빅포게임즈 HTML 유무선연동
[SSS 2nd] 빅포게임즈 HTML 유무선연동[SSS 2nd] 빅포게임즈 HTML 유무선연동
[SSS 2nd] 빅포게임즈 HTML 유무선연동
GAMENEXT Works
 
Harness The Power Of Auto Cad Map And Esri
Harness The Power Of Auto Cad Map And EsriHarness The Power Of Auto Cad Map And Esri
Harness The Power Of Auto Cad Map And Esri
Richard Chappell, GISP
 
PDF.JS at SwissJeese 2012
PDF.JS at SwissJeese 2012PDF.JS at SwissJeese 2012
PDF.JS at SwissJeese 2012
Julian Viereck
 
GPGPU Programming @DroidconNL 2012 by Alten
GPGPU Programming @DroidconNL 2012 by AltenGPGPU Programming @DroidconNL 2012 by Alten
GPGPU Programming @DroidconNL 2012 by Alten
Arjan Somers
 
Debugging TV Frame 0x18
Debugging TV Frame 0x18Debugging TV Frame 0x18
Debugging TV Frame 0x18
Dmitry Vostokov
 
Drawing in HTML5 Open House
Drawing in HTML5 Open HouseDrawing in HTML5 Open House
Drawing in HTML5 Open House
Noam Kfir
 

Similar to JUI 2009 O3D Programming (20)

Leaving Flatland: Getting Started with WebGL- SXSW 2012
Leaving Flatland: Getting Started with WebGL- SXSW 2012Leaving Flatland: Getting Started with WebGL- SXSW 2012
Leaving Flatland: Getting Started with WebGL- SXSW 2012
 
CanvasGL, a GPU-accelerated WebKit
CanvasGL, a GPU-accelerated WebKitCanvasGL, a GPU-accelerated WebKit
CanvasGL, a GPU-accelerated WebKit
 
Introducing canvas gl (company100)
Introducing canvas gl (company100)Introducing canvas gl (company100)
Introducing canvas gl (company100)
 
CanvasGL, a GPU-accelerated WebKit
CanvasGL, a GPU-accelerated WebKitCanvasGL, a GPU-accelerated WebKit
CanvasGL, a GPU-accelerated WebKit
 
领域驱动设计实例讲解
领域驱动设计实例讲解领域驱动设计实例讲解
领域驱动设计实例讲解
 
MS TechDays 2011 - HTML 5 All the Awesome Bits
MS TechDays 2011 - HTML 5 All the Awesome BitsMS TechDays 2011 - HTML 5 All the Awesome Bits
MS TechDays 2011 - HTML 5 All the Awesome Bits
 
2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개
2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개
2011.05.27 ACC 기술세미나 : Adobe Flash Builder 4.5를 환경에서 Molehill 3D를 이용한 개발 소개
 
Agic 2009 Losing My Religion Gis Interoperability
Agic 2009 Losing My Religion   Gis InteroperabilityAgic 2009 Losing My Religion   Gis Interoperability
Agic 2009 Losing My Religion Gis Interoperability
 
Away3d workshop slides
Away3d workshop slidesAway3d workshop slides
Away3d workshop slides
 
HTML5 for the Silverlight Guy
HTML5 for the Silverlight GuyHTML5 for the Silverlight Guy
HTML5 for the Silverlight Guy
 
JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall
JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 FallJavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall
JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall
 
HTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymoreHTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymore
 
Couchdb
CouchdbCouchdb
Couchdb
 
Designing an Objective-C Framework about 3D
Designing an Objective-C Framework about 3DDesigning an Objective-C Framework about 3D
Designing an Objective-C Framework about 3D
 
[SSS 2nd] 빅포게임즈 HTML 유무선연동
[SSS 2nd] 빅포게임즈 HTML 유무선연동[SSS 2nd] 빅포게임즈 HTML 유무선연동
[SSS 2nd] 빅포게임즈 HTML 유무선연동
 
Harness The Power Of Auto Cad Map And Esri
Harness The Power Of Auto Cad Map And EsriHarness The Power Of Auto Cad Map And Esri
Harness The Power Of Auto Cad Map And Esri
 
PDF.JS at SwissJeese 2012
PDF.JS at SwissJeese 2012PDF.JS at SwissJeese 2012
PDF.JS at SwissJeese 2012
 
GPGPU Programming @DroidconNL 2012 by Alten
GPGPU Programming @DroidconNL 2012 by AltenGPGPU Programming @DroidconNL 2012 by Alten
GPGPU Programming @DroidconNL 2012 by Alten
 
Debugging TV Frame 0x18
Debugging TV Frame 0x18Debugging TV Frame 0x18
Debugging TV Frame 0x18
 
Drawing in HTML5 Open House
Drawing in HTML5 Open HouseDrawing in HTML5 Open House
Drawing in HTML5 Open House
 

Recently uploaded

Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 

Recently uploaded (20)

Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 

JUI 2009 O3D Programming

  • 2. What’s O3D Google 2009 7 12
  • 3. What’s O3D Javascript Flash Player object QuickTime plugin IE Firefox, Safari… ActiveX NPAPI Canvas • Flash QT • O3D (Google Gears ) 2009 7 12
  • 4. What’s O3D API O3D VRML Direct3D RM API OpenGL Direct3D IM JS ! " HW 2D Canvas ! 2D 2009 7 12
  • 5. What’s O3D O3D API !"#$%&"#%$&"&"!!'! !"#(%&"#$$&"&"!!)! !"&&&&"&&&&*&"!!+! !"&&&&"&&&&"&*!!,! 2009 7 12
  • 6. What’s Scene Graph 1. scene { ! object { API material(red) { faces { DOM [0,0, 1,0 0,1] } } material(blue) { json faces { [0,2, 3,0 0,4] } } } } 2. 2009 7 12
  • 7. Reading Sample Code !"#$%&'(') **+,-#&./ **0#11'2132'#-"24"5$2+60/ **789#2#:""2;< json 2009 7 12
  • 8. 2009 7 12
  • 9. 2009 7 12
  • 10. Working with Scene Graph Transform Transform Transform Material Parent Child DrawList Shape Parent Child Primitive position list: [0,0, 0,1, 1,1] index list: [0,1,2] 2009 7 12
  • 11. Working with Scene Graph DOM parent.appendChild( child ); O3D child.parent = parent; ! add append (addShape ) ! t = pack.createObject('Transform'); t.parent = o3dClient.root; 2009 7 12
  • 12. Demo - js touch on O3D 2009 7 12
  • 13. 2D on O3D Mozilla Party 2D 2009 7 12
  • 14. 2D on O3D 2D Canvas provides an interface for drawing text and 2D primitives on a 2D surface. O3D Canvas : 2D API 2009 7 12
  • 16. 2009 7 12
  • 17. 2D on O3D Canvas 2009 7 12
  • 18. 2D on O3D ?@> @A> BC*D*B*E*F3?@>*G*=4> 8C*D*8*E*GF3@A>*H*=4> • =4> • • Shape =4> Canvas 2009 7 12
  • 19. Demo - O3D BallPool O3D Canvas by Mr. doob 2009 7 12
  • 20. Demo - O3D BallPool on Internet Explorer 2009 7 12
  • 21. Demo - O3D BallPool O3D plugin V8 JS Engine V8 "V8 Demo 2009 7 12
  • 22. • 2D Canvas • API 2009 7 12
  • 23. • 2D Canvas • API 2009 7 12
  • 24. Enjoy O3D Programming Thank You. 2009 7 12