7

独自の 2D (および場合によっては 3D) ゲーム エンジンを作成する前に、少し調査を行っています。C# と XNA を使用する前にエンジンを作成しましたが、今回は opengl などを使用して C++ で新しいエンジンを作成することにより、クロスプラットフォームに行きたいと考えています。

しかし...私はまだC#からの高速な反復時間を必要とし、そこでゲームエンジンにアクセスできます.

したがって、ここにはいくつかのオプションがあります。

  1. C++ でエンジンと CLI ラッパーを作成する
  2. すべてを C# で直接記述します。C++ は使用しません。
  3. C++ で記述し、Mono を使用して C# コード / アセンブリをエンジンに読み込みます。
  4. C# なし
  5. ...おそらく私がまだ考えていなかったもの

カリング、シーングラフ、マトリックス計算、パーティクル システムなどにはスピードが必要だと思います。

長所と短所は何ですか?何を指示してるんですか?

4

3 に答える 3

2

クロスプラットフォームが必要な場合は、C ++/CLIを使用できません。これは、Windows以外のプラットフォームではサポートされていません。

そうは言っても、クロスプラットフォームの場合、TaoでC#を使用するか、C ++を使用してエンジンをライブラリにし、Platform Invokeを使用してC#コード内からライブラリを「使用」します。これにより、コアエンジン(C ++)で必要な速度と制御が提供され、C#でのゲームデザインの柔軟性が得られます。

これにより、C#に公開できるゲームエンジンを開発するためのクリーンなクロスプラットフォーム手段が提供されます。

于 2010-08-10T19:30:07.200 に答える
1

Tao フレームワークは廃止されました。代わりにOpenTKを試してください

于 2010-08-10T19:44:46.950 に答える
1

最適化された C++ コードは大幅に高速化されます (私の場合、32 ビットの ODE では 20%、64 ビットではほぼ 40% です。C# は 32 ビットの C# よりも 64 ビットの方が遅いですが、それは別の投稿です)。C++ ライブラリの重い数学 (積分、微分方程式など) を利用します。

于 2010-08-10T20:07:50.390 に答える