Mi sono imbattuto in giochi 3D giocabili in un browser. Richiedono un plug-in da installare per funzionare. Immagino che il plugin crei una finestra D3D all'interno del browser.
Come farei per implementare qualcosa di simile?
Mi sono imbattuto in giochi 3D giocabili in un browser. Richiedono un plug-in da installare per funzionare. Immagino che il plugin crei una finestra D3D all'interno del browser.
Come farei per implementare qualcosa di simile?
Risposte:
Unity Web Player (per Windows) può utilizzare sia DirectX che OpenGL in una finestra (tuttavia impedisce l'accesso a queste API).
Un altro approccio sarebbe quello di implementare un plug-in DirectX utilizzando ActiveX (per Internet Explorer) o NPAPI (per altri browser).
Se usi NPAPI, quando il tuo plug-in si avvia riceverai un handle di finestra in cui puoi disegnare quello che vuoi (inclusa una finestra D3D). Se segui questa strada, esegui essenzialmente il codice nativo sui computer client.
Il gioco a cui stai giocando potrebbe usare WebGL http://it.wikipedia.org/wiki/WebGL o qualcosa di più esotico come un plug-in Firefox, ma non penso che tu possa incorporare il codice macchina in un plug-in Firefox non sono sicuro, sarebbe un piccolo difetto di sicurezza).
Unity implementa una versione di plug-in Web del loro motore e sembra che lo facciano con ActiveX. Non so se implementa su Mac ..., mi chiedo però.
Il modo migliore per scoprire come questo gioco a cui stai giocando usa un'API 3D o qualsiasi altro tipo di plugin, è guardare l'origine HTML della pagina e cercare object o activex o altro.
Dai un'occhiata a Firebreath per il supporto di cross-broswer.