OpenGL 3.x v2.xには大きな違いがありますか? OpenGL 2.xを学ぶのは時間の無駄でしょうか、どちらも同じコンセプトに従っていますか?私は2.xが州に基づいていて、3.xはそうではないということをどこかに読んだと思うのですが、それは正しいのですか?OpenGL 2.XをスキップしてOpenGL 3.Xの学習を開始する方が良いですか?
答えて
これについて書かれた学習資料の中で、最も多くのことを学んでください。 NeHe's tutorialsは良い出発点です。
私は数ヶ月前に少しOpenGLの作業を行いましたが、私がプログラミングしていたバージョンは覚えていませんが、それは最も重要な概念です。これは、あなたがちょうど始まり、シェイダーやその他のものを扱っていないときに特に当てはまります。
(マルテClasenの回答を参照してください。)
彼らはほぼ完全に後方互換性ですので、あなたは、古いバージョンで学ぶものはうまくそれ以降のバージョンに適用する予定です。特に「どこかで目標を設定する」必要がある場合は、おそらく2.0が良い選択でしょう。 the OpenGL Wikipedia pageを見ると、さまざまなバージョンに何が追加されたかを知ることができ、必要と思われる機能を自分で決めることができます。
男よ、人々は私を投票し続けます。それを吸う。私はこのアドバイスに立つつもりです。特に、GL 3の特定のリソースを持っている人はまだいません。 2.xでうまく動作しているシェーダを覚えていることがあります。また、ジオメトリをGLに渡す方法がタスクの難しさのほんの一部であっても、私はあなたの靴の中にいたいと思います。 –
注意してください。 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を使用してください。死んでしまうのではなく、何の変化もありません。
OpenGL 3は何もドロップしません。非推奨とは、将来廃止されることを意味し、廃止されることはありません。誰かが完全な文脈を使う限り、あなたが心配していることはすべて、まだそこにあります。 私は、既存のソフトウェアがどれだけそれを使用しているかを考慮して、ドライバが固定機能パイプラインのサポートを非常に長い間中止することを真剣に疑っています。 –
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で廃止された固定機能のインターフェイスです。 –
Thanx Malte これは私が心配していたものです。それでも何かが残っていても、私は物事をする最善の方法を学びたいと思うし、glBegin/Endのものはそうではないようです。だから、あなたは、deperecatedもので始まらないOpenGL 3.xチュートリアルをどこから見つけるべきか知っていますか? –
私は「Learning Modern 3D Graphics Programming」を通して読んでいますが、OpenGL 3を実際に使用するハードウェアはありませんが、私は私の心の中ですぐにコンセプトを得ることができます。私はハードウェアを持っていれば3に移動します。
私は現代的なシェーダーのみスタイルはOpenGLのリアルタイム3Dグラフィックスの未来だと思います。私はすぐにOpenGL 3から始めることを提案します。一方、旧式の廃止予定のOpenGLは学びやすく、API全体を理解することなく簡単なことをするのは簡単です。
しかし、旧式の固定機能をスキップするかどうか、またはDirect3DまたはOpenGLを使用するかどうかに関わらず、グラフィックスパイプラインの原則と内部動作を理解することが重要ですOpenGLに関する質問があり、そのコードが機能しない理由、コンピュータグラフィックス、それぞれのOpenGL関数が実際に何を意味しているのか分からない人がいるのを見てください。
EDIT:また、一部の書籍の推奨事項については、this questionをご覧ください。
このチュートリアルは非常に使いやすく、使いやすく、OpenGL 3 http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Table-of-Contents.htmlです。あなたが便利見つけることができるその他のチュートリアル:
- 1. OpenGL ES 1.x vs 2.x:まだ学習に値するOpenGL ES 1.x?
- 2. OpenGL 3.xと4.Xの違いは?
- 3. 通常のOpenGLコンパイルの下でOpenGL ES 2.0を学習する
- 4. OpenGL ES 2.xを学ぼうとしているのであれば、OpenGL 3.0の本は適していますか?
- 5. OpenGL ES 2.x:深度バッファを破棄する方法glDiscardFramebufferEXT?
- 6. Mac OS XでOpenGL SOILをコンパイルする
- 7. OS X 10.6でRails 3とJRails 3の開発を開始
- 8. 度ベクトルのOpenGLの方向(X、Y、Z)
- 9. AndroidでOpenGL ES 1.xを使い始める - 基本的なプリミティブ
- 10. プロフェッショナルな方法をPHPの学習を開始するには?
- 11. OpenGL ES 2.x: `GL_TEXTURE_2D`と` GL_TEXTURE_CUBE_MAP`を同じテクスチャイメージ単位でバインドしますか?
- 12. androidのアクティビティXからアクティビティXを開始する
- 13. WindowsとOS XのOpenGLアルファブレンドの違いは何ですか?
- 14. OpenGL - 1.1と比較してOpenGL ES 2.0を学ぶのがどれくらい難しいですか?
- 15. XNAチュートリアルの3D学習を初めて開始する
- 16. OpenGL 3.x ADS Phongの "veiny-looking"球付きローダー。
- 17. Clojureのソースコードの学習を始めるには良い場所ですか?
- 18. OSX(Macbook Air 2012)でSDL2を使用したOpenGL 3.xコンテキストの作成
- 19. OLEを使い始める - 良い学習プロジェクトは何ですか?
- 20. ActionScript:As3から直接ActionScriptの学習を開始できます
- 21. データウェアハウスの学習を始めるには良い場所ですか?
- 22. SDLを使用しているMacOS Xでフルスクリーンを使用するとOpenGLが減速しますか?
- 23. OpenGL ESの学習 - 回転に関するいくつかの質問
- 24. OS X上のQT4でOpenGLコアプロファイルを有効にする
- 25. OpenGLを使用してMac OS Xのココアアプリケーションで連続レンダリングを設定する
- 26. Mac OS XでOpenGlを使用するCプログラムをコンパイル
- 27. SharePointの学習を始める方法
- 28. OSXとOpenGL 4.xとの互換性
- 29. OS X上のGLUT OpenGL 3.2コアプロファイル
- 30. JavaからOpenGLを学ぶ
私はこのアドバイスは危険考慮してください。廃止予定の固定機能を学習してシェーダの結果を扱っていませんパイプライン。明らかに始まったサブセットは、OpenGL 3ではもう利用できません。 –
Neheチュートリアル以来、OpenGLは大幅に変更されています。そして、あなたが本当にハードウェアアクセラレーションを利用したいのであれば、あなたはOpenGLを使いたいと思うのは難しいでしょうが、もっと簡単なライブラリがそこにあるので、これをやりたいとは思っていません。Neheはほとんど役に立たないでしょう。 – Kilon