¿Cómo haces que Direct3D funcione en un navegador?

9

Me he encontrado con juegos 3D que se pueden jugar en un navegador. Requieren que se instale un complemento para funcionar. Supongo que el complemento crea una ventana D3D dentro del navegador.

¿Cómo haría para implementar algo similar?

Huang F. Lei
fuente
pregunta interesante
Notabene

Respuestas:

8

El reproductor web de Unity (para Windows) puede usar DirectX y OpenGL en una ventana (sin embargo, abstrae su acceso a estas API).

Otro enfoque sería implementar un complemento DirectX utilizando ActiveX (para Internet Explorer) o NPAPI (para otros navegadores).

Si usa NPAPI, cuando se inicie su complemento, recibirá un identificador de ventana donde puede dibujar lo que quiera (incluida una ventana D3D). Si sigue esta ruta, esencialmente está ejecutando código nativo en las máquinas de los clientes.

CiscoIPPhone
fuente
Tenga en cuenta que el NPAPI está en camino de desaprobación, por lo que se recomienda que los nuevos juegos web utilicen otras tecnologías como WebGL (que está cada vez más respaldado y no requiere complementos adicionales)
DMGregory
5

El juego que estás jugando puede usar WebGL http://en.wikipedia.org/wiki/WebGL , o algo más exótico como un complemento de Firefox, pero no creo que puedas incrustar código de máquina en un complemento de Firefox (estoy no estoy seguro, eso sería un pequeño defecto de seguridad).

Unity implementa una versión de plugin web de su motor, y parece que lo hacen con ActiveX. No sé si se implementa en Mac ..., aunque me pregunto.

La mejor manera de descubrir cómo este juego que estás jugando utiliza una API 3D o cualquier otro tipo de complemento, es mirar la fuente HTML de la página y buscar objetos o activex u otros.

jokoon
fuente
¿Por qué el voto negativo?
CiscoIPPhone
44
Para la sugerencia absurda no se puede "incrustar código de máquina en un complemento de Firefox". El objetivo de los complementos es complementar el contenido web con algún conjunto de código "nativo".
así que todavía podemos hablar de las entradas para dictionnary complemento, extensión, plugin, mod, etc ... Es todavía mejor para ser más precisos acerca de lo que lo hace ...
jokoon
44
Y "plugin" es exactamente lo que tiene, desde Netscape Navigator 2, referido a la ejecución de código sin caja (nativo o de otro tipo) en la máquina cliente.
3
Netscape Navigator 2, ¿estás hablando de un automóvil, algún tipo de SUV? No veo ninguna conexión con la pregunta ...
jokoon