2009-08-15 6 views

答えて

-7

これについて書かれた学習資料の中で、最も多くのことを学んでください。 NeHe's tutorialsは良い出発点です。

私は数ヶ月前に少しOpenGLの作業を行いましたが、私がプログラミングしていたバージョンは覚えていませんが、それは最も重要な概念です。これは、あなたがちょうど始まり、シェイダーやその他のものを扱っていないときに特に当てはまります。

(マルテClasenの回答を参照してください。)

+24

私はこのアドバイスは危険考慮してください。廃止予定の固定機能を学習してシェーダの結果を扱っていませんパイプライン。明らかに始まったサブセットは、OpenGL 3ではもう利用できません。 –

+1

Neheチュートリアル以来、OpenGLは大幅に変更されています。そして、あなたが本当にハードウェアアクセラレーションを利用したいのであれば、あなたはOpenGLを使いたいと思うのは難しいでしょうが、もっと簡単なライブラリがそこにあるので、これをやりたいとは思っていません。Neheはほとんど役に立たないでしょう。 – Kilon

8

彼らはほぼ完全に後方互換性ですので、あなたは、古いバージョンで学ぶものはうまくそれ以降のバージョンに適用する予定です。特に「どこかで目標を設定する」必要がある場合は、おそらく2.0が良い選択でしょう。 the OpenGL Wikipedia pageを見ると、さまざまなバージョンに何が追加されたかを知ることができ、必要と思われる機能を自分で決めることができます。

+0

男よ、人々は私を投票し続けます。それを吸う。私はこのアドバイスに立つつもりです。特に、GL 3の特定のリソースを持っている人はまだいません。 2.xでうまく動作しているシェーダを覚えていることがあります。また、ジオメトリをGLに渡す方法がタスクの難しさのほんの一部であっても、私はあなたの靴の中にいたいと思います。 –

48

注意してください。 OpenGL 3は、多くの機能、特にOpenGLの初期の機能を非難しています。あなたが古いチュートリアル(ほとんどのNeHeのような)から始めると、おそらく古いスタイルのOpenGL 2に慣れてしまうでしょう。

OpenGL 3には固定機能パイプラインはありません(後方互換性機能)。シェーダを使用する必要があります。 glBegin/glEndはもう存在しません。頂点バッファを使用する必要があります。どちらもOpenGL 2で既に利用可能ですが、ほとんどのチュートリアルはglBegin/glEndで始まりOpenGLカラープロパティを設定します。これは非常に重要な違いです。

OpenGL 2には無数の方法があり、少なくとも1つの一般的なチュートリアルで説明されています。 OpenGL 3は、OpenGL 2の "初心者のサブセット"(固定機能glBegin/glEnd)を含む多くのものをドロップします。したがって、長期的にOpenGL 3をターゲットにしたい場合は、最初からすぐにOpenGL 3を使用してください。死んでしまうのではなく、何の変化もありません。

+3

OpenGL 3は何もドロップしません。非推奨とは、将来廃止されることを意味し、廃止されることはありません。誰かが完全な文脈を使う限り、あなたが心配していることはすべて、まだそこにあります。 私は、既存のソフトウェアがどれだけそれを使用しているかを考慮して、ドライバが固定機能パイプラインのサポートを非常に長い間中止することを真剣に疑っています。 –

+11

OpenGL 3は、3.xファミリ全体を意味し、最近リリースされた3.2は廃止された関数を実際に削除します。 「OpenGL 3.2の新機能、http://www.opengl.org/documentation/current_version/」を参照してください。「OpenGL 3.2とそれに付随するOpenGL Shading Language 1.50は、多くの新機能を追加すると同時に、従来のものを削除してAPIとシェーディング言語を簡素化しますOpenGL 3.0で廃止された固定機能のインターフェイスです。 –

+0

Thanx Malte これは私が心配していたものです。それでも何かが残っていても、私は物事をする最善の方法を学びたいと思うし、glBegin/Endのものはそうではないようです。だから、あなたは、deperecatedもので始まらないOpenGL 3.xチュートリアルをどこから見つけるべきか知っていますか? –

4

私は「Learning Modern 3D Graphics Programming」を通して読んでいますが、OpenGL 3を実際に使用するハードウェアはありませんが、私は私の心の中ですぐにコンセプトを得ることができます。私はハードウェアを持っていれば3に移動します。

http://www.arcsynthesis.org/gltut/

2

私は現代的なシェーダーのみスタイルはOpenGLのリアルタイム3Dグラフィックスの未来だと思います。私はすぐにOpenGL 3から始めることを提案します。一方、旧式の廃止予定のOpenGLは学びやすく、API全体を理解することなく簡単なことをするのは簡単です。

しかし、旧式の固定機能をスキップするかどうか、またはDirect3DまたはOpenGLを使用するかどうかに関わらず、グラフィックスパイプラインの原則と内部動作を理解することが重要ですOpenGLに関する質問があり、そのコードが機能しない理由、コンピュータグラフィックス、それぞれのOpenGL関数が実際に何を意味しているのか分からない人がいるのを見てください。

EDIT:また、一部の書籍の推奨事項については、this questionをご覧ください。

関連する問題