I understand that it’s possible to write a plugin for a browser which lets you render to the browser window, so you can effectively run a normal app within the browser. NOT using JS or client technology, but a plugin which basically wraps your application – in our case C++ which does 3D rendering using DirectX or OpenGL.
I know that we’d have to have versions for both IE and other browsers but how does this work – in Windows-speak do we get a HWND through the plugin architecture or is it more complex?
Do you have to write a version of the plugin compiled for each platform – Win/Mac/Linux, since a plugin is a binary I assume this is the case, so you have one version for IE and then multiple versions for FF, Chrome, Safari (which share the same plugin setup IIRC)
With FF – is this an example of a plugin or an extension specifically?
An example of what I mean is QuakeLive – proper 3D rendering within the browser. We’re actually using Ogre (cross-platform C++) but this uses Direct3D/OpenGL so it’s the same thing.
FireBreath is a great cross-platform, cross-browser library for developing C++ browser plugins.