Esiste un modo semplice per trasferire un'app OpenGL C++ su un browser? È già stato trasferito su PC, Mac e iOS. Se c'è un modo relativamente semplice, sarebbe portatile tra i browser dei computer? Dovrei usare binari diversi per piattaforme diverse, ovviamente. Ricordo di aver sentito qualcosa su qualche ambiente sandbox per Chrome qualche tempo fa, ma che avrebbe escluso gli altri browser. Come hanno fatto (id?) Con Quake nel browser?Porting della mia app C++ per l'esecuzione in un browser
risposta
Prova Google Native Client
o NaCl
, se si desidera una porta lazy.
Ma se si vuole fare un vero e proprio porto - fare riferimento a questi due esempi:
- blog series sul porting del gioco esistente C++ per HTML5 (sponsorizzato da Opera)
- short article sul porting Objective- esistente C game to html5 (sponsorizzato da Microsoft).
- sad example di porting popolare gioco protetto da copyright da C a JavaScript (sponsorizzato da Mozilla, con l'aiuto extra di ZeniMax)
Se si chiedeva di QuakeLive - che è un plugin personalizzato, realizzato da Id Software. Funzionalità simili possono essere raggiunte con i plugin Flash o Unity.
Se si sta già prendendo di mira l'ES 2.0 per iOS, gli shader dovrebbero funzionare allo stesso modo di WebGL. JavaScript ahoy!
id Software utilizza un giant plugin per Quake Live.
Esiste un modo semplice per trasferire un'app OpenGL C++ su un browser? È già stato trasferito su PC, Mac e iOS. Se c'è un modo relativamente semplice, sarebbe portatile tra i browser dei computer?
Si può provare a ricompilarlo in JavaScript, questo è quello che i browser eseguono. Se non ti aspetti che l'utente installi un plug-in del browser, non puoi dargli il codice nativo. Ovviamente quando in un ambiente JavaScript molte delle cose che sei abituato da eseguibili nativi non funzionano. Per gli esempi non è più possibile accedere a un file system. È necessario utilizzare l'archiviazione DOM, i cookie, scaricare/caricare risorse da un server.
Supporto JavaScript OpenGL in questi giorni? –
@ JonasByström: Sì, si chiama WebGL. Ecco alcune demo: http://www.chromeexperiments.com/webgl – datenwolf
È possibile utilizzare Mandreel se si desidera la minima quantità di lavoro. Un'altra opzione è Emscripten ma che converte solo il tuo C++, non fornisce tutte le API come fa Mandreel.
- 1. Porting Java App to Go - qualche consiglio?
- 2. (iOS) Esiste un modo per ritirare l'invio della mia app?
- 3. Porting di app java sulla piattaforma Android
- 4. Vai alla schermata App permessi app della mia app
- 5. AVG rilevamento della mia app come malware
- 6. Porting C++ a C# - templates
- 7. porting Java crittografia di routine per C#
- 8. Numero di download della mia app
- 9. Porting app da LWUIT a CodenameOne
- 10. Più installazioni della mia app - come gestirla
- 11. Come distribuire più versioni della mia app?
- 12. Forma personalizzata in Silverlight (porting app da WPF)
- 13. Apertura di App Store alla tariffa dall'interno della mia app
- 14. Porting std :: map to C?
- 15. Rileva l'androide della mia app: versionCode in fase di esecuzione
- 16. Intercettare i collegamenti dal browser per aprire la mia app per Android
- 17. Verifica se il primo utente della mia app in Android
- 18. Apertura della mia app da un promemoria su IOS utilizzando l'obiettivo C
- 19. Porting Borland C++ Builder to Qt
- 20. Ottieni l'URL di base della mia app Web in JavaScript
- 21. Come avviare app Android all'interno della mia applicazione in Android?
- 22. Hosting della mia app Web stack MEAN su pagine github
- 23. Come posso caricare una parte della mia app C# in modo dinamico senza riavvio dell'app?
- 24. Come trovare l'utilizzo della memoria della mia applicazione Android scritto C++ utilizzando NDK
- 25. Avvio della mia app utilizzando l'URI di intento
- 26. Porting C++ OpenGL Game to iPad
- 27. Come collego la mia estensione alla mia app per Android?
- 28. Porting di un'applicazione C++ su Android
- 29. Come posso simulare la chiusura della mia app Metro?
- 30. Cookie privato solo per la mia app? Perché sta influenzando il cookie del browser?
[WebGL] (http://en.wikipedia.org/wiki/WebGL) è quello che penso tu stia parlando. –
La sandbox per Chrome è denominata [Native Client] (https://developers.google.com/native-client/). –