これらの言語のうち、プライマリ プラットフォーム Linux での OpenGL ゲームに適しているのはどれですか? パフォーマンスとライブラリ サポートで比較していただければ幸いです。
4 に答える
C++ は、低レベルで非常に柔軟で強力な言語です。ネイティブ コードをコンパイルし (高速です)、便利なライブラリを多数備えています。どの OpenGL プロジェクトにもお勧めします。同じ利点の多くを共有する他の c ファミリー言語を調べることもできます。
(私は広告のように聞こえる)
この質問に自分で答えられるほど C++ と C# についてよく知らない場合は、C# を使用することをお勧めします。
C++ では、パフォーマンスがわずかに向上する可能性がありますが、十分な経験がある場合に限ります。そうしないと、おそらく遅くなります。
C++ ライブラリは、pInvoke を使用して Mono から簡単に呼び出すことができますが、Mono ライブラリを C++ から使用することはできません (モノ全体をゲームに埋め込む必要はありません)。
開発するコード、つまりアプリの残りの部分に大きく依存すると思います。プロのゲームなどでは、C++がより強力な選択肢のようです。
Linux、Windows、Macでバージョンツリー(プラスチックscm)をレンダリングするためにOpenGL + C#を使用しましたが、非常に良い結果が得られましたが、ゲームは行っていません。:)
ライブラリのサポートはほぼ同じで、思いつく 3D レンダリング ライブラリはすべて .net バインディングを持っています。低レベルのライブラリ (openGL、openAL など) が必要な場合、OpenTk には、必要なほぼすべてのバインディングがあります。プログラミング言語の銃撃戦をざっと見てみると、mono は G++ の 1/2 の速度のように見えますが、それが一般的な場合に当てはまるとしたら、本当に驚くでしょう。