Top Banner
#PAUG – Dec. 2013 Build 3D web, mobile and desktop applications with C++11 Warren Seine CTO and co-founder of Aerys [email protected] @warrenseine
17

Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

May 08, 2015

Download

Technology

Minko3D

Build 3D web, mobile and desktop applications with C++11
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

#PAUG – Dec. 2013 Build 3D web, mobile and desktop applications with C++11

Warren Seine CTO and co-founder of Aerys [email protected] @warrenseine

Page 2: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

Join!

WebGL France http://www.meetup.com/WebGL-France

@WebGLFrance

Page 3: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

by

Page 4: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

3D. Everywhere. Deliver engaging, interactive and rich 3D content and applications on

desktops, mobiles and the web.

Page 5: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

Focus on design. Boost with code. Minko « Studio » Edition

Designers integrate 3D content, customize materials, setup lights and animations. Developers plug in scripts and interactivity.

Page 6: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

The sky is the limit. Minko « Community » Edition

Build desktop, web and mobile 3D applications with Minko’s free and open source SDK including

a fully-featured 3D engine and plugins.

Page 7: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

IronForce (EA/Coolfish)

Page 8: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

« We chose Minko to be the 3D engine in one of our new Flash-based games because we think it’s a highly professional solution in terms of

development ecosystem and high performance. »

André Weissflog, Head of Development at BigPoint

Page 9: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

Features §  100% compatible with Windows, Mac,

Linux, iOS, Android and WebGL

§  WYSIWYG Scene editor

§  3D scene graph API

§  Components & scripts system

§  Physics (Bullet)

§  Data-driven rendering engine

§  80+ 2D/3D file formats supported

§  Dynamic assets loading

§  Über-shaders

§  3D compression, simplification and streaming

§  Plugin system (Oculus, Leap, ….)

§  Particles engine

Page 10: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

§ Performances § You can’t beat C++ and its static optimizations

§ Integration §  It’s the common standard for big projects

§ Expressiveness § C++11 lambdas, type inference, memory management

§ Cross-platform § Windows, Mac, Linux, iOS, Android, Flash, Windows Phone, HTML5

Why C++?

Page 11: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

Emscripten https://github.com/kripken/emscripten

§  Atwood’s Law –  « Anything that can be done with JavaScript will be done in JavaScript »

§  Open source project driven by Mozilla –  Based on LLVM, which is supported by Google, Apple, Intel and many more

§  Cross-compile C++ code to Javascript code –  Binds OpenGL to WebGL –  Provide virtual file system –  C++ ó JavaScript bindings

§  Code optimizations –  LLVM and C++ specific optimizations –  Closure compiler –  asm.js (2x performances of native code!) –  LZMA compression

Page 12: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

ASM.js –Benchmarks

Source:  h*p://kripken.github.io/mloc_emscripten_talk/#/28  

Page 13: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

EXAMPLE: SPONZA HTML5! http://minko.io/showcase/sponza-html5

Page 14: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

Conclusion

Page 15: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

My Feedback – The Good Parts

§ Working with C++ 2011 is amazing § More complex but so much powerful/expressive than AS3/JS §  Useful and reliable STL containers (list, maps, sets, etc…) §  Shared pointers make memory management just as easy as with

managed languages: not a single memory leak so far!

§ Visual Studio/Xcode/Eclipse are very good IDEs

§ Minko 3 is much lighter and yet just as much powerful

§ Vagrant + Premake: efficient cross-compilation build

Page 16: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

My Feedback – The Good Parts

§ Compatibility §  The app runs on Windows, Mac, Linux, iOS, Android and WebGL

without a single modification! §  Targeting Android was just a 2-day job

§ Speed § Native speed on Windows, Mac, Linux, iOS and Android § 2x speed of native code in HTML5/WebGL thanks to asm.js!

Page 17: Paris Android User Group - Build 3D web, mobile and desktop applications with C++11

Merci !

Don’t forget to check http://minko.io !