9

私は、OpenGL と OpenGL ES の基本的な違い (glBegin、glEnd、クワッドがないなど) に精通しています。

したがって、私の質問は 2 つの API の違いについてではなく、API とそのさまざまな実装の両方で実際に機能するコードを書くことについてです。特に、実装がより異なるように見える ES に関してです。

当然のことながら、これは、2 つの API と同一の構文に両方に存在する機能に準拠することを意味し、派手すぎず最先端ではなく、OpenGL ES 2 が最も低い共通点です。

4

2 に答える 2

3

新しい OpenGL ES 互換拡張機能ARB_ES2_compatibility (OpenGL 4.1 でコアに追加) に興味があるかもしれません。

もちろん、実際に拡張機能を使用するには、新しい 4.1 デスクトップ OpenGL のサポートが必要ですが、それらを読み、デスクトップで ES サポートを取得するために何が必要であったかを確認し、ES コードでそれをできるだけ回避することができます。ただし、古いデスクトップ OpenGL バージョンと互換性がないものがあるかもしれません。主に、浮動小数点精度などのシェーダーのものです。

ARB_ES3_compatibility (OpenGL 4.3 のコア) もありますが、OpenGL ES 3.0 用であるため、おそらく無視しても安全です)。

于 2012-12-29T02:37:08.233 に答える
2

Khronosによると、OpenGL ESはデスクトップOpenGLのサブセットであるため、互換性のあるコードを作成するには、OpenGLESのドキュメントを使用する必要があります。

http://www.khronos.org/opengles/からの引用

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

編集:Justin Meinersがコメントで指摘したように、細部に関しては実際にはいくつかの違いがあります。デビッドC.ビショップの答えはこれに関するより多くの情報を持っています。

于 2012-05-02T18:45:02.813 に答える