Upload
minko3d
View
715
Download
2
Embed Size (px)
DESCRIPTION
Build 3D web, mobile and desktop applications with C++11
Citation preview
#PAUG – Dec. 2013 Build 3D web, mobile and desktop applications with C++11
Warren Seine CTO and co-founder of Aerys [email protected] @warrenseine
Join!
WebGL France http://www.meetup.com/WebGL-France
@WebGLFrance
by
3D. Everywhere. Deliver engaging, interactive and rich 3D content and applications on
desktops, mobiles and the web.
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.
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.
IronForce (EA/Coolfish)
« 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
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
§ 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++?
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
ASM.js –Benchmarks
Source: h*p://kripken.github.io/mloc_emscripten_talk/#/28
EXAMPLE: SPONZA HTML5! http://minko.io/showcase/sponza-html5
Conclusion
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
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!
Merci !
Don’t forget to check http://minko.io !