2012-01-26 12 views
6

¿Hay alguna manera fácil de portar una aplicación OpenGL de C++ a un navegador? Ya está portado a PC, Mac y iOS. Si hay alguna manera relativamente fácil, ¿sería eso portable entre los navegadores de la computadora? Tendría que usar diferentes binarios para diferentes plataformas, por supuesto. Recuerdo haber escuchado algo sobre algún entorno de espacio aislado para Chrome hace algún tiempo, pero eso excluiría a los otros navegadores. ¿Cómo lo hicieron (id?) Con Quake en el navegador?Portando mi aplicación C++ para ejecutar en un navegador

+1

[WebGL] (http://en.wikipedia.org/wiki/WebGL) es de lo que creo que está hablando. –

+0

El sandbox para Chrome se llama [Native Client] (https://developers.google.com/native-client/). –

Respuesta

2

Pruebe Google Native Client o NaCl, si desea un puerto vago.

Pero si usted quiere hacer un verdadero puerto - se refieren a esos dos ejemplos:

  • blog series sobre portar ++ juego de C existente para html5 (patrocinado por Opera)
  • short article sobre portar Objetivo- existente C juego a html5 (patrocinado por Microsoft).
  • sad example de portar popular juego de derechos de autor de C a JavaScript (patrocinado por Mozilla, con la ayuda adicional de Zenimax)

Si estaba preguntando por QuakeLive - que es un complemento personalizado, hecho por Id Software. Se puede lograr una funcionalidad similar con los complementos Flash o Unity.

4

Si ya tiene como objetivo ES 2.0 para iOS, sus sombreadores deberían funcionar tal como están con WebGL. JavaScript ahoy!

id Software utiliza un giant plugin para Quake Live.

1

¿Hay una manera fácil de portar una aplicación OpenGL de C++ a un navegador? Ya está portado a PC, Mac y iOS. Si hay alguna manera relativamente fácil, ¿sería eso portable entre los navegadores de la computadora?

Puede intentar recompilarlo en JavaScript, eso es lo que ejecutan los navegadores. Si no espera que el usuario instale algún complemento del navegador, no puede darles el código nativo. Por supuesto, cuando en un entorno JavaScript muchas de las cosas que está acostumbrado de los ejecutables nativos no funcionan. Por ejemplo, ya no puede acceder a un sistema de archivos. Debe usar almacenamiento DOM, cookies, descargar/cargar recursos desde un servidor.

+0

Soporte de JavaScript OpenGL en estos días? –

+0

@ JonasByström: Sí, se llama WebGL. Aquí hay algunos demos: http://www.chromeexperiments.com/webgl – datenwolf

2

Puede usar Mandreel si quiere la menor cantidad de trabajo. Otra opción es Emscripten pero eso solo convierte su C++, no proporciona todas las API como lo hace Mandreel.

Cuestiones relacionadas