web-dev-qa-db-ja.com

OpenGL ESとOpenGL

OpenGL ESとOpenGLの違いは何ですか?

81
kml_ckr

OpenGL ESとOpenGLのより大きな違いの2つは、プリミティブレンダリングのglBegin ... glEnd呼び出しセマンティクスの削除(頂点配列を優先)と、頂点座標と属性の固定小数点データ型の導入によるサポートの向上です。多くの場合FPUが欠けている組み込みプロセッサの計算能力

こちらをご覧ください: OpenGL_ES

49
kamaci

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をサポートできます。

42
Bill Yan

OpenGL 3.3の機能のサブセットを使用することにより、OpenGL 3.3とOpenGL ES 2.0のほとんどが相互運用可能であることを追加したいだけです。私のカスタムC++エンジンは、Android/IOS/Windows/OSX/Linuxに対して同じAPI呼び出しを使用しますが、いくつかの定義があります。

主な違いは次のとおりです。

  • ジオメトリシェーダーのサポートの欠如
  • 最小/最大ブレンディングなし(これには拡張機能がある場合があります)
  • クワッドリストプリミティブなし
  • より制限されたテクスチャ形式(特に浮動小数点に関して)
  • glGetTexImageは利用できません
  • 変換フィードバックはありません。他のいくつかの高度な機能と同じです

他にも多くの違いがありますが、それはいくつかの重要な違いをカバーしています。

33
nullspace

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

6
罗大柚

ここでOpenGL ESの概要を確認してください。 http://www.khronos.org/opengles/

要するに、ESはOpen GL for "embedded systems"のサブセットです。特定の違いは、比較しているバージョンと機能セットによって異なります。

6
holtavolt

OpenGL ESレジストリには、OpenGL ESと対応するバージョンのOpenGLとの間の詳細なAPIの違いが含まれています。

ただし、OpenGL ES 3.0の違いを含むドキュメントはありません。

5
writhe

「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を参照しないことをお勧めします。

4
user501138

用語とバージョンは非常にわかりにくい(特に初心者向け)。ここにリンクがあり、概要をかなりよく説明しています。それが役立つかどうかを確認してください。

OpenGL-Then and Now

3
ap-osd

2つの主な違いは、OpenGL ESはスマートフォンなどの組み込みシステム向けに作られているのに対して、OpenGLはデスクトップ上のものです。コーディングレベルでは、OpenGL ESはglBegin/glEndなどの固定機能関数をサポートしていません。OpenGLは固定機能パイプラインをサポートできます(互換性プロファイルを使用)。

3
Matth

OpenGL 4.6と比較したES 3.0の最新の回答は、受け入れられている回答とは大きく異なります。これで、固定パイプラインのすべてがなくなりました。

ESは、EMBEDDED SYSTEMSの場合、はるかに堅牢ではありません。

2
Steve Wyatt

OpenGL は、数千のアプリケーションをさまざまなコンピュータープラットフォームに提供する2Dおよび3DグラフィックスAPIです。

OpenGL ESは、デスクトップOpenGLの明確に定義されたサブセットです。

OpenGL®ESは、コンソール、携帯電話、家電、車両などの組み込みシステムでのフル機能の2Dおよび3Dグラフィックス向けのロイヤリティフリーのクロスプラットフォームAPIです。デスクトップOpenGLの明確に定義されたサブセットで構成されています...

こちらをご覧ください link

追伸.

WebGLはOpenGL ESと仕様を共有します。つまり、デスクトップOpenGLを習得している場合、他(OpenGL ES、WebGL)を習得するのは簡単です。

0
Jafffy

簡単に言うと、openglはデスクトップバージョンであり、opengl esは、コンピューターよりもメモリとパフォーマンスの制約がある携帯電話などの組み込みシステム用です。 opengl esは使いにくいでしょう。

0
pratik_z