Me deparei com jogos 3D que são jogáveis em um navegador. Eles exigem que um plugin seja instalado para funcionar. Eu acho que o plugin cria uma janela D3D dentro do navegador.
Como eu implementaria algo semelhante?
Me deparei com jogos 3D que são jogáveis em um navegador. Eles exigem que um plugin seja instalado para funcionar. Eu acho que o plugin cria uma janela D3D dentro do navegador.
Como eu implementaria algo semelhante?
Respostas:
O Unity Web Player (para Windows) pode usar o DirectX e o OpenGL em uma janela (no entanto, abstrai seu acesso a essas APIs).
Outra abordagem seria implementar um plug-in do DirectX usando ActiveX (para Internet Explorer) ou NPAPI (para outros navegadores).
Se você usa o NPAPI, quando o plug-in for iniciado, você receberá um identificador de janela onde poderá desenhar o que quiser (incluindo uma janela D3D). Se você seguir esse caminho, estará executando essencialmente o código nativo nas máquinas clientes.
O jogo que você está jogando pode usar o WebGL http://en.wikipedia.org/wiki/WebGL ou algo mais exótico como um plug-in do firefox, mas não acho que você possa incorporar código de máquina em um plug-in do firefox (eu sou não tenho certeza, isso seria uma pequena falha de segurança).
O Unity implementa uma versão de plug-in da Web do mecanismo deles, e parece que eles fazem isso com o ActiveX. Eu não sei se ele implementa no Mac ..., eu me pergunto.
A melhor maneira de descobrir como esse jogo que você está jogando usa uma API 3D ou qualquer outro tipo de plug-in é olhar para a fonte HTML da página e procurar objeto ou activex, ou então.
Confira o Firebreath para obter suporte ao Cross-broswer.