Comment faites-vous fonctionner Direct3D dans un navigateur?

9

Je suis tombé sur des jeux 3D qui sont jouables dans un navigateur. Ils nécessitent l'installation d'un plugin pour fonctionner. Je suppose que le plugin crée une fenêtre D3D à l'intérieur du navigateur.

Comment pourrais-je mettre en œuvre quelque chose de similaire?

Huang F. Lei
la source
question intéressante
Notabene

Réponses:

8

Le lecteur Web Unity (pour Windows) peut utiliser à la fois DirectX et OpenGL dans une fenêtre (mais il résume votre accès à ces API).

Une autre approche consisterait à implémenter un plugin DirectX en utilisant ActiveX (pour Internet Explorer) ou NPAPI (pour les autres navigateurs).

Si vous utilisez NPAPI, au démarrage de votre plugin, vous recevrez une poignée de fenêtre où vous pourrez dessiner ce que vous voulez (y compris une fenêtre D3D). Si vous suivez cette voie, vous exécutez essentiellement du code natif sur les ordinateurs clients.

CiscoIPPhone
la source
Notez que le NPAPI est en voie de dépréciation, il est donc recommandé que les nouveaux jeux Web utilisent d'autres technologies comme WebGL (qui est de plus en plus bien pris en charge et ne nécessite pas de plugins supplémentaires)
DMGregory
5

Le jeu auquel vous jouez peut utiliser WebGL http://en.wikipedia.org/wiki/WebGL , ou quelque chose de plus exotique comme un plugin firefox, mais je ne pense pas que vous puissiez incorporer du code machine dans un plugin firefox (je suis pas sûr, ce serait un petit défaut de sécurité).

Unity implémente une version de plugin Web de leur moteur, et il semble qu'ils le fassent avec ActiveX. Je ne sais pas s'il est implémenté sur Mac ..., je me demande cependant.

La meilleure façon de savoir comment ce jeu auquel vous jouez utilise une API 3D ou tout autre type de plugin, est de regarder la source HTML de la page et de chercher un objet ou un ActiveX ou autre.

jokoon
la source
Pourquoi le vote négatif?
CiscoIPPhone
4
Pour la suggestion ridicule, vous ne pouvez pas "incorporer du code machine dans un plugin Firefox". L'intérêt des plugins est de compléter le contenu Web avec un ensemble de code "natif".
bien que nous pouvons encore discuter des entrées pour DICTIONNAIRE addon, extension, plugin, mod, etc ... Il est toujours mieux d'être précis sur ce qui fait quoi ...
jokoon
4
Et "plugin" est exactement ce qui a, depuis Netscape Navigator 2, fait référence à l'exécution de code sans bac à sable (natif ou autre) sur la machine cliente.
3
netscape navigator 2, parlez-vous d'une voiture, d'une sorte de SUV? Je ne vois aucun lien avec la question ...
jokoon