2

私は主にJavaを使用するプロの開発者ですが、暇なときはさまざまな言語やライブラリを試してみるのが好きです。問題は、3D対応のアプリケーションやゲームを開発する方法を学び始めたいということです。そこにはたくさんのエンジンがありますが、それらを直接使用することによって、それらが非常に高いレベルであるため、私は3D開発の基本を学ぶことができないのではないかと心配しています。

シーングラフエンジン、SDLのようなライブラリでプログラミングを開始する必要がありますか、それともopenglでの作業に直行する必要がありますか?

私はすべての開発をLinuxで行っていますが、開発するものをクロスプラットフォームにしたいと思っています。

4

4 に答える 4

3

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

複雑すぎるものを作成しないでください。私は基本だけに進み、それをマスターした後 (マトリックス操作、カメラ、フラストラム、オクルージョンなどを指します)、いくつかの 3D エンジンを見て、それらがどのように実装されているかを確認します。私はその時にそれらを使い始めます。

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

OpenGL の基本を見た後に見たいと思うかもしれない非常に優れた 3D エンジンはOgreです。それはよくプログラムされており、使いやすいです。

于 2009-08-15T13:31:49.513 に答える
2

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

長い間どのように機能していたかを知りたいだけの場合は、OpenGL2.0仕様を参照してください。少なくともあと数年はここにとどまります。OpenGL 3.0はすべての変更を別のコンテキストで導入し、NVIDIAは古い機能を削除しないことを約束しました。あなたは競争力がありませんが、あなたはあなたの暇な時間のための安定したプラットフォームを持っています。

目的を達成するための手段としてOpenGLを検討する場合は、すべての汚い作業を行う高レベルのライブラリを好むかもしれません。3Dグラフィックスの「その他の」基本、つまりベクトル、行列、クォータニオン(など)もこのレベルに表示されます。それらをGPUに効率的に渡す方法を知る必要はありません。より高いレベルの3Dグラフィックスを求める場合は、すべてのAPI(OpenGL、OpenGL ES、Direct3D)およびテクノロジー(スキャンラインラスタライズ、レイトレーシング)で同じものに集中できます。

ですから、結局のところ、あなたがあなたの暇な時間をどうしたいかを決めるのはあなた次第です。どちらの方法も興味深いものです。固定された目標がない場合、固有の「より良い」方法はありません。

于 2009-08-15T13:56:21.560 に答える
2

私はあなたにOpenSceneGraphとc++を提案することができます

または多分Delta3D。これはOpenSceneGraphベースのライブラリです

もありますが、使いませんでした。

于 2009-08-15T13:58:02.337 に答える
2

私はOpenGLから始めました。OpenGL自体を教えるだけでなく、適切なシーン イルミネーションやアニメーションの基礎など、3D (ゲーム) 開発における多くの重要なことを学ぶことができるチュートリアルが Web 上にたくさんあります。

于 2009-08-15T13:35:37.030 に答える