OpenGL ESとOpenGLの違いは何ですか?
OpenGL ESとOpenGLのより大きな違いの2つは、プリミティブレンダリングのglBegin ... glEnd呼び出しセマンティクスの削除(頂点配列を優先)と、頂点座標と属性の固定小数点データ型の導入によるサポートの向上です。多くの場合FPUが欠けている組み込みプロセッサの計算能力
こちらをご覧ください: OpenGL_ES
OpenGL ESは、組み込みシステム用のopengl apiです。 API関数の数の点では通常のopenglより単純ですが、頂点バッファーを使用してより多くのシェーダーを作成する必要があるため、使用が難しくなる場合があります。
通常のopenglを使用する場合、glBeginおよびglEndを使用して、描画する必要があるジオメトリプリミティブを囲むことができますが、Opengl ESを使用する場合は、頂点バッファーを使用する必要があります。これはパフォーマンスの問題のためだと思います。
現在、2つのOpengl ESバージョンがあり、1.1バージョンは固定レンダリングパイプラインのみをサポートできますが、2.0バージョンはglslシェーダーをサポートします。ただし、レンダリングパイプラインは固定されていません。他のWordでは、すべてに対して独自のシェーダーを作成する必要があります。
Opengl ESは、主に携帯電話とWeb(webgl)で使用されます。仕様によると、デスクトップのopenglドライバーはすべてのopengl es apiをサポートできます。
OpenGL 3.3の機能のサブセットを使用することにより、OpenGL 3.3とOpenGL ES 2.0のほとんどが相互運用可能であることを追加したいだけです。私のカスタムC++エンジンは、Android/IOS/Windows/OSX/Linuxに対して同じAPI呼び出しを使用しますが、いくつかの定義があります。
主な違いは次のとおりです。
他にも多くの違いがありますが、それはいくつかの重要な違いをカバーしています。
OpenGL ESは、組み込みシステム用のOpen Graphics Library(OpenGL ESまたはGLES)は、ビデオゲームで使用されるような2Dおよび3DコンピューターグラフィックスをレンダリングするためのOpenGLコンピューターグラフィックスレンダリングアプリケーションプログラミングインターフェイス(API)のサブセットであり、通常はハードウェアアクセラレーションを使用して加速されるグラフィックス処理装置(GPU)。スマートフォン、コンピュータータブレット、ビデオゲームコンソール、PDAなどの組み込みシステム向けに設計されています。
OpenGL | ES公式ウェブサイト: http://www.opengl.org/
wikiから詳細情報を取得することもできます。 http://en.wikipedia.org/wiki/OpenGL_ES
ここでOpenGL ESの概要を確認してください。 http://www.khronos.org/opengles/
要するに、ESはOpen GL for "embedded systems"のサブセットです。特定の違いは、比較しているバージョンと機能セットによって異なります。
OpenGL ESレジストリには、OpenGL ESと対応するバージョンのOpenGLとの間の詳細なAPIの違いが含まれています。
ただし、OpenGL ES 3.0の違いを含むドキュメントはありません。
「OpenGLとOpenGL ESの違いは何ですか」と尋ねると、より良い答えが得られると思います。
OpenGL ES 1.1とES 2.0、OpenGL 1.5と2.0、およびOpenGL 3.0と4.0には大きな違いがあります。
他の人が説明したように、ESは組み込みシステム用に書かれています。また、GL仕様以来の仕様の最初の「ハウスクリーニング」を表します。 2つの異なる方法でピクセル画像をブリットします)。 ESは、洗練されていないハードウェア向けに設計されているため、一般的なステートメントとして機能が少ないOpenGLよりもシンプルです。
OpenGL ES 1.1は過去のものであり、将来のOpenGLまたはOpenGL ESのアーキテクチャの動きを表すものではないため、OpenGL ES 1.1を参照しないことをお勧めします。
用語とバージョンは非常にわかりにくい(特に初心者向け)。ここにリンクがあり、概要をかなりよく説明しています。それが役立つかどうかを確認してください。
2つの主な違いは、OpenGL ESはスマートフォンなどの組み込みシステム向けに作られているのに対して、OpenGLはデスクトップ上のものです。コーディングレベルでは、OpenGL ESはglBegin/glEndなどの固定機能関数をサポートしていません。OpenGLは固定機能パイプラインをサポートできます(互換性プロファイルを使用)。
OpenGL 4.6と比較したES 3.0の最新の回答は、受け入れられている回答とは大きく異なります。これで、固定パイプラインのすべてがなくなりました。
ESは、EMBEDDED SYSTEMSの場合、はるかに堅牢ではありません。
OpenGL は、数千のアプリケーションをさまざまなコンピュータープラットフォームに提供する2Dおよび3DグラフィックスAPIです。
OpenGL ESは、デスクトップOpenGLの明確に定義されたサブセットです。
OpenGL®ESは、コンソール、携帯電話、家電、車両などの組み込みシステムでのフル機能の2Dおよび3Dグラフィックス向けのロイヤリティフリーのクロスプラットフォームAPIです。デスクトップOpenGLの明確に定義されたサブセットで構成されています...
こちらをご覧ください link 。
追伸.
WebGLはOpenGL ESと仕様を共有します。つまり、デスクトップOpenGLを習得している場合、他(OpenGL ES、WebGL)を習得するのは簡単です。
簡単に言うと、openglはデスクトップバージョンであり、opengl esは、コンピューターよりもメモリとパフォーマンスの制約がある携帯電話などの組み込みシステム用です。 opengl esは使いにくいでしょう。