ブラウザでDirect3Dを機能させるにはどうすればよいですか?


9

ブラウザでプレイできる3Dのゲームを見つけました。動作させるには、プラグインをインストールする必要があります。プラグインはブラウザ内にD3Dウィンドウを作成すると思います。

同様なものを実装するにはどうすればよいですか?


興味深い質問
Notabene

回答:


8

Unity Webプレーヤー(ウィンドウ用)は、ウィンドウ内でDirectXとOpenGLの両方を使用できます(ただし、これらのAPIへのアクセスを抽象化します)。

別のアプローチは、ActiveX(Internet Explorerの場合)またはNPAPI(他のブラウザーの場合)を使用してDirectXプラグインを実装することです。

NPAPIを使用している場合、プラグインが起動すると、ウィンドウハンドルが表示されます。ウィンドウハンドルで、D3Dウィンドウを含め、何でも描画できます。この方法をとれば、クライアントマシンでネイティブコードを実行していることになります。


NPAPIは非推奨になりつつあるため、新しいWebゲームではWebGLなどのその他のテクノロジーを使用することをお勧めします(サポートはますますサポートされており、追加のプラグインは不要です)
DMGregory

5

あなたがプレイしているゲームは、WebGL http://en.wikipedia.org/wiki/WebGLや、Firefoxプラグインのようなよりエキゾチックなものを使用しているかもしれませんが、Firefoxプラグインにマシンコードを埋め込むことはできないと思います(私は確かではありませんが、これは少しセキュリティ上の欠陥です。

UnityはエンジンのWebプラグインバージョンを実装しており、ActiveXで実装しているようです。Macで実装されているかどうかはわかりませんが...

このゲームが3D APIまたはその他の種類のプラグインを使用してどのようにゲームをプレイしているかを確認する最良の方法は、ページのHTMLソースを見て、オブジェクトやActiveXなどを探すことです。


なぜ反対票か。
CiscoIPPhone、2011年

4
馬鹿げた提案では、「Firefoxプラグインにマシンコードを埋め込む」ことはできません。プラグインの全体のポイントは、「ネイティブ」コードのセットでWebコンテンツを補足することです。

アドオン、エクステンション、プラグイン、モッドなどの
辞書

4
また、「プラグイン」とは、Netscape Navigator 2以降、サンドボックス化されていない(ネイティブまたはその他の)コードをクライアントマシンで実行することを指しているためです。

3
netscapeナビゲーター2、あなたは車、ある種のSUVについて話しているのですか?質問との関連性がありません...
jokoon '19

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.