Emscripten takes in C/C++ code, passes it through LLVM, and converts the LLVM-generated bytecode into Asm.js.
If the compiled Asm.js code is doing some rendering then it is most likely being handled by WebGL (and rendered using OpenGL).
Works with old browsers,
lazy compile (we can skip evaluation by wrapping code in function, eval),
hard to debug,
2 compilers: Mandreel, Emscripten(in this presentation)
types, no garbage collection
There are to ways that we can interact with browser. There are 2 ways to interact expose c++ methods to javascript or go other hipster way and show js libs to our c++ code
Lets go other way emscripten offers us also evaluation of javascript inside c++. We use for that val type to store global scope.
Emmscripten supports SDL 1.2 out of box but community added support for QT4 and OpenGL ES, BOX 2D and Unity 3d is supported as alpha.