Como você faz o Direct3D funcionar em um navegador?

9

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?

Huang F. Lei
fonte
pergunta interessante
Notabene

Respostas:

8

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.

CiscoIPPhone
fonte
Observe que o NPAPI está a caminho da desvalorização, por isso é recomendável que novos jogos da Web usem outras tecnologias como o WebGL (que está ficando cada vez mais bem suportado e não requer plugins adicionais)
DMGregory
5

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.

jokoon
fonte
Por que o voto negativo?
CiscoIPPhone
4
Para a sugestão ridícula, você não pode "incorporar o código da máquina em um plug-in do Firefox". O objetivo principal dos plug-ins é suplementar o conteúdo da web com algum conjunto de códigos "nativos".
bem ainda podemos discutir as entradas Dictionnary para complemento, extensão, plugin, modificação, etc ... Ainda melhor é para ser mais preciso sobre o que faz o que ...
jokoon
4
E "plugin" é exatamente o que, desde o Netscape Navigator 2, se refere à execução de código sem caixa de areia (nativo ou não) na máquina cliente.
3
netscape navigator 2, você está falando de um carro, algum tipo de SUV? Não vejo qualquer ligação com a questão ...
jokoon