宇宙シミュレータ用の OpenGL [終了]
質問
私たちは数人の友人とともに、宇宙戦闘シミュレーター ゲーム (翼司令官の長い死んだ物語のようなもの) のための、プラットフォームに依存しない Java ベースのアマチュア プロジェクトを開始しました。ただし、私たちの誰も 3D プログラマーではないので、道のりは長くなるでしょう。
私の質問は次のとおりです。私たちの代わりに、OpenGL の学習を開始しますか (おそらく GLUT 経由で) それとも、今日より良い可能性がありますか?Direct3D についてはどうですか?お勧めの本はありますか?特にいくつか注文しました
- Dave Shriner の OpenGL プログラミング ガイド
- Luke Benstead の OpenGL ゲーム プログラミングの入門
他のヒント
、私は、OpenGLのサブセットでのOpenGL ES 2.X、始まるお勧めします。
のOpenGL ES 2.Xは、携帯電話などのプログラマブルハードウェアと組み込みシステムのためのOpenGLの簡略化されたサブセットです。例えば、OpenGLでタスクを達成する複数の方法があるかもしれませんが、オープンGL ES 2.xでは、唯一の方法があります。 OpenGL ES 2.xでは以下の選択肢がありますので、OpenGL ESの2.X.を習得することを学ぶので、はるかに少ないがありますOpenGL ES 2.0プログラミングガイドは、480ページで、OpenGLのプログラミングガイド、第7版は936ページです。
また、OpenGL ESの2.Xを使用すると、あなたのゲームのためのより幅広いハードウェアの聴衆を与えるだろう。それは、OpenGLのサブセットであるため、OpenGL ESの2.Xのために書かれたコードは、ほとんど、またはまったく変更することなく、完全なOpenGLのシステム上で動作します。あなたのゲームのグラフィックスは、スマートフォンへのデスクトップからターゲットマシンの範囲で動作することができます。
あなたは Ogre3D のようなオープンソースの3Dエンジンを選択することもできます。
しかし、あなたが本当に(非常に興味深い)あなた自身の上のグラフィックスエンジンを書きたい場合は、線形代数を学ぶことから始めます。なく、かなり高度なものがありますが、並進ベクトル、回転行列などで自分を表現すると非常に快適である必要があります。
これらの概念を持つあなたはすでにおなじみの場合は、Direct3DのまたはOpenGLのどちらかを選択してください - これは、利用可能なプラットフォーム上でより多くを依存しています。あなたは、Mircosoft環境内のコードのDirect3Dを選択し、他のすべてが好きならば、OpenGLを選択します。
追加ライブラリの選択は、プログラミング言語に依存します。 GLUTよりも良い選択肢はおそらく、SDL(C)またはQtの(C ++)です。
さて、あなたは前に3Dグラフィックスプログラミングをやったことがない場合は、単純化のために行くと学ぶ-として-ユー・ゴー。 私が取ったルートだったのOpenGLのための訥河(ネオンヘリウム)によって、本当にいいのチュートリアルのセットがあるように使用されます。
私は、学習曲線はそれほど急ではないとして、OpenGLがより簡単に始めることがわかりました。あなたは最初のフラストレーション/動機で多くのことができます迅速な結果を得ることができます。しかし、ヘルプのトンなどの警告の言葉 - 3Dプログラミングは本質的に複雑であり、あなたがゲーム自体よりも、グラフィックス技術を構築する上でより多くのエネルギーを費やしています。あなたは本当にゲームが終わっ見たい場合はOgre3Dを採用考えてみましょう:O)を(免責事項:私は他のエンジンもある知っているが、鬼が安定している、実績のある良いドキュメントが付属しています)。
DirectXはしないだろう