2009-08-15 16 views
0

私はJavaを中心に扱っているプロの開発者ですが、私は暇な時間に別の言語やライブラリで遊んでいます。まず、3D対応のアプリケーションやゲームの開発方法を学びたいと思っています。多くのエンジンがありますが、それらを直接使用することによって、私は3d開発の基礎を学ぶことができないでしょう。シーングラフエンジンまたはopengl directで始める?

シーングラフエンジン、SDLのようなライブラリを使ってプログラミングを開始するか、openglを使って作業を進めるべきでしょうか?

私はすべての開発をLinux上で行いますが、私が開発するものがクロスプラットフォームであることを望みます。

答えて

3

私は普通のOpenGlを使い始めます。いくつかの基本的なシーンを行い、そこから独自の「3Dエンジン」を構築してください。おそらくあなたが学び、自分で低レベルのものをたくさん操作しなければならないので、それはおそらく悪くなるでしょう。しかし、私はそれがあなたが学びたいものだと思います。

あまりにも複雑なものを作成しないでください。私は基本に行きますが、それを習得した後で(マトリックス操作、カメラ、截頭、オクルージョンなどを参照してください)、3Dエンジンを見て、それを実装しました。私はその時にそれらを使い始めるでしょう。

OpenGLキャンバスを設定するには、簡単なツールキットが必要です。 GLUTをお勧めします。これは古くて非常に簡単です。シンプルな画面を設定するのに役立ちます。それよりも低いレベルは移植不可能で、作成するのは少し難しいでしょう(Xorgは「一口...」と呼んでいます)。多くのツールキットライブラリには3Dキャンバス(QT、SDLなど)があります。しかし、GLUTの良い点は、それがあなたのウィンドウを作成し、いくつかの機能を設定し、それだけです。

OpenGLの基本を見てみるといいかもしれない非常に素晴らしい3Dエンジンは、Ogreです。それはうまくプログラムされ、使いやすいです。

+0

だけでなく、すべての設定ファイルが存在しOpenSceneGraphベースのライブラリ

です何かをするために必要なプラグイン。 :\ \しかし、私は普通のOpenGLで始めることに非常に同意します。 – Ricket

+0

@Ricketええ、私はあなたに同意します。しかし、それは3Dエンジンであり、それ以上のものはありません。だからこそ私は学習のためにそれが好きです。それはちょうどあなたの提案でした、あまりにもよく仕事をすることができる他のエンジンがあります。 –

2

私はOpenGLを使い始めました。 OpenGL それ自体をに教える以外にも、適切なシーンイルミネーションやアニメーションの基礎など、3D(ゲーム)開発において重要なことをたくさん学ぶことができる、Web上で利用可能なチュートリアルがたくさんあります。

2

直接的なOpenGLアクセスの観点からの3D開発の基本は、急速に変化するターゲットです。数か月ごとに新しい機能について学ぶ必要があるために準備してください。何年もの停滞の後、3つのOpenGL標準が昨年公開されました。それぞれの重要な変更が行われています。これは楽しいことができますが、それに従うために多くの努力が必要です。

長い間働いていたものを見てみたいのであれば、OpenGL 2.0仕様に進んでください。少なくとも数年はここに滞在しています。 OpenGL 3.0ではすべての変更が別のコンテキストで導入され、NVIDIAは古い機能を削除しないようにコミットしました。競争力はありませんが、あなたは余裕を持って安定したプラットフォームを持っています。

もしあなたが最後の手段としてOpenGLを考えているなら、もっと汚い仕事をする上位レベルのライブラリが好きかもしれません。 3Dグラフィックの「その他の」基本、つまりベクトル、行列、四元数などもこのレベルに表示されます。それらを効率的にGPUに渡す方法を知る必要はありません。高レベルの3Dグラフィックスを使用する場合は、すべてのAPI(OpenGL、OpenGL ES、Direct3D)とテクノロジ(スキャンラインのラスタライズ、レイトレース)で同じものに留めることができます。

最終的には、あなたの暇な時にしたいことを決めるのはあなた次第です。どちらのパスも面白いです。固定された目標がない場合、固有の「より良い」方法はありません。

+0

応答のためのThanx。私はほとんどの現代のソフトウェア技術と同じように思う。それは時間がかかるが、試してみるのが楽しい。 –

0

は、私はあなたOpenSceneGraphおよびC++

または多分をDelta3Dを提案することができます。それはまた、が、私はそれを使用しませんでした...

私は、オーガを通じて存在するシングルトンの使用に反対していても
関連する問題