2011-01-27 10 views
9

何を学習すればよいですか? OpenGL 4.1またはOpenGL ES 2.0?OpenGLまたはOpenGL ES

私はQtを使用してデスクトップアプリケーションを開発していますが、私は数か月後にモバイルアプリケーションを開発するかもしれません。私は3D、3D数学などについて何も知らず、1週間のウェブサイトを掘り、試行錯誤しながら、良い本で100ドルを使いたいと思っています。

私が知る限り、OpenGL ES 2.0に関する書籍はありますが、最新のものはOpenGL 3.3または4.0用です。

一方、私の素朴な視点から見ると、OpenGL 4.1はOpenGL ES 2.0 +のように見えるので、OpenGL ES 2.0を最初に学び、次にシェイダー言語に移行する方が簡単/など

+1

OpenGL 4とOpenGL 3は、最新のOpenGLであり、古い固定機能OpenGLではありません。だからOpenGL 3を学ぶなら、OpenGL 4で絶対にコード化することができます。主な概念は、Vertex Buffer Objects、Vertex Array Objects(つまりVBOとVAO)です。 –

答えて

8

はい、間違いのOpenGL ESで始まる(それは一般的にそれが悪い/古い慣行のフルだ合意しています)、ドリアンのチュートリアルなど

感謝を訥河を使用するように私に教えないでください2.0。実際には、WebGL(OpenGL ES 2.0とほとんど同じです)で始めるといいでしょう。 here以上の公共のwikiは始めるのに適しています。 WebGLの素晴らしい点は、コンパイル/リンクのようなことに対処する必要がなく、多くの設定を行うための定型コードをたくさん使うのを避けることです。実際の描画に焦点を当てるようになります(本当に楽しいことです:))。 OpenGL ES 2.0の本をお持ちの場合は、それでもWebGLにうまくマッピングする必要があります。

さらに、repositoryにはたくさんのデモがあり、すぐに実行できます(ブラウザの[ソースの表示]をクリックするとコードにジャンプできます)。画像テクスチャテスト、カラーボックス、テクスチャボックスなどの単純なものから始めてください。

これらの例は、OpenGL ES 2.0の書籍と一緒にすぐに始めることができます。楽しむ!

EDIT:私はおそらくも、あなたがは、OpenGL 4.1のルートを行くことに決めるか場合、あなたはおそらくOpenGLの4.1の本を待つ必要がないことを指摘しなければなりません。 OpenGL 3.3または4.0の本はうまくいくでしょう。

+0

webGLは、ほとんどのブラウザのベータ版でのみ利用可能です。すぐにアプリケーションを展開する必要がある場合は、デスクトップ版を作成する必要があります。しかし、あなたが*学習*だけであれば、それを始めるには最適な方法です。 –

2

OpenGLバージョンは一般的に以前のバージョンに新しい機能を追加するので、OpenGL 4.1の学習は、基本的にOpenGL 3.0を学習していると言えます。

OpenGL ES 2.0は、OpenGL 3.xのサブセットの一種です。

これらの「事実」を念頭に置いて、私はOpenGL 3+またはOpenGL ES 2+を学ぶことは、詳細の違いを除いてほぼ同じだと言いたいと思います。

デスクトッププラットフォーム(OS、グラフィックスカード)によっては、OpenGL 3の実装にアクセスできない場合があります。

デスクトップ上のOpenGL ES 2の実装も利用できない場合があります。

OpenGL initを委任するので、WebGLで始めるShezan Baigの提案が役に立ちます。ブラウザの問題 - implement WebGL over DirectXのいずれかであっても、その可用性を向上させることができます。

あなたが学んでいる間に、あなたは3次元の原理、アルゴリズム、数学に焦点を当てることをお勧めします。これらは正しいことを得るのが最も難しいです。実装の「詳細」は、OpenGL(ESかどうか)やDirectXなどとはあまり変わりません。

より正確には、私はあなたが最も精通しているプログラミング言語で開始することをお勧めしたいです。私はこの言語でOpenGL 1.x/2.xを使っていました。これらの古いバージョンのGLには、3.x +で廃止されたヘルパー関数(glBegin/glVertex/glEnd; glMultMatrixなど) 。これらを使用すると、アルゴリズムをテストする上でより生産的になります。

3Dプログラミングには多くのことがありますが、freely availableになっている参考書を見つけて、あなたのユースケースに興味のある情報を選択してください。

+0

「3原則、アルゴリズム、数学」を始めるにはどうしたらよいですか? – zxspectrum

+0

回答を編集していくつかの提案を含める – rotoglup

0

はいGLES2を使用します。

1)ポータブルです。

2)PCの場合でも、GLES2のやり方に従ってください。 (GL3/4の高度な機能が必要な場合を除きます)。

3)シェーダ期間を使用したい場合、GLES2は適切な方法を学習するのに適しています。

WindowsではOpenGLを使用しています。ドライバーはたいていがらくたです。ネットブックを取ると、hlsl 2.0をサポートしますが、GLSLシェーダはサポートせず、GL-1.3だけを実行します。

+1

「ドライバはだまされる」という点は一般的ではありません。インテルのドライバー、そしてネットブックは、インテルのGPUを搭載しているのが最も一般的です。一方で、AMDとNVidiaはともに優れたドライバを持っています。そして、通常これはOSを無視しても当てはまります。 –

+0

私の経験ではないWindows上のOpenGLドライバは、通常D3Dと対比しています(コメントの時点では機能やパフォーマンスが低下することがあります)。これが本当でない唯一のケースはNvidiaです。投稿は2011年からのもので、その時間以上のGPUを表すことにも注意してください。今の状況では、事態が変わった可能性があります。 – zezba9000