4

上記の質問はかなり広いので、絞り込みます。静的ライブラリにある単純なopengl c ++ゲームエンジンを持っています(動的ライブラリに変換できます)。

私はそれをウェブで実行する方法を考えてきました。私が見る限り、ActiveX または Google NaCl を使用してブラウザで C++ コードを実行できます。しかし、これらのテクノロジーは簡単にクロス プラットフォームに見えませんか? あるいは、私が誤解しているかもしれません。

私が見た別のオプションは、エンジンを JavaScript と WebGL に変換し、HTML5 キャンバスで実行することです。これは c++ よりも遅くなりますか? ただし、非常にクロスプラットフォームになります。

最良の選択肢は何だと思いますか、それとも他に見逃した選択肢はありますか?

編集: unity webplayer に似たカスタム プラグインはどうですか?

4

3 に答える 3

6

まだ開発中の @kripken によって作成されたライブラリがあります。LLVM ビットコードを受け取り、Javascript に変換します。

プロジェクトページはこちらで、実際の例とともに見ることができます。 https://github.com/kripken/emscripten/

于 2012-07-27T07:54:49.190 に答える
3

NaCl への移植を強くお勧めします。

利点:

  1. パフォーマンス: CPU の能力を最大限に活用してゲームをレンダリングできます。ゲームが優れた 3D グラフィックスまたは物理演算を使用している場合、古いシステム構成でも滑らかに見えるようにすることができます。NaCl のパフォーマンスはネイティブ OS アプリケーションに匹敵します。同じゲームを Win32 バージョンと比較した場合、FPS の 5 ~ 10% 近くを失うだけです。
  2. すでに移植された例がたくさんあり、簡単に実行できる NaCl のゲームがあります。
  3. すでにクロスプラットフォームです。Chrome は Windows、Linux、Mac OSX で動作します。

短所:

  1. 港まで1週間ほどかかる場合があります。OpenGL ES 2.0 に移植する必要があります (ただし、ブラウザー ベースの方法、特に HTML5 と同じである必要があります)。
  2. Chrome でのみ実行されます。
于 2012-07-27T10:20:53.830 に答える
1

ブラウザで移植可能なものが必要な場合は、Javascript に依存する必要があります (IE ではサポートされていませんが、WebGL の可能性があります)。

ActiveX と NaCL は、形や形を問わず移植性がありません。

どちらが簡単かは言えませんが、Javascript でゲームを書き直すか、Emscriptenのようなツールを使用して C++ を JavaScript にコンパイルするオプションがあります。

後者を使用する場合でも、特効薬ではないことに注意してください。コードに多くの変更を加える必要がある可能性があります (たとえば、C++ ゲームで使用されているライブラリと API がブラウザーで使用できないため)。

于 2012-07-27T08:02:16.083 に答える