5

Android 用の OpenGL ベースのアプリケーションを作成する必要があります。

OpenGL SL と OpenGL ES 2.0 SL、OpenGL と OpenGL ES に大きな違いはありますか? OpenGL ES ではなく、一般的な OpenGL 関連の本を使って OpenGL と GLSL を学ぶと役に立ちますか?

4

2 に答える 2

2

OpenGL と OpenGL ES の違い

OpenGL ES 1.1 と OpenGL ES 2.0 は、完全な OpenGL 標準のサブセットです。OpenGL ES API を使用する場合、アプリケーションの開発時に注意する必要がある制限があります。

たとえば、次の OpenGL 機能は、OpenGL ES 1.1 または OpenGL ES 2.0 には存在しません。

  1. glBegin または glEnd はサポートされていません。代わりに、頂点配列と頂点バッファー オブジェクトを使用してください。
  2. サポートされているラスター化プリミティブは、点、線、および三角形のみです。クワッドはサポートされていません。
  3. 多項式関数の評価段階はありません。
  4. フラグメントのブロックを個々のフラグメント操作に直接送信することはできません。
  5. 表示リストはサポートされていません。

さらに、次の OpenGL 機能は OpenGL ES 2.0 にはありません。

  1. 固定機能のグラフィックス パイプラインはサポートされていません。独自の頂点およびフラグメント シェーダー プログラムを使用する必要があります。
  2. glFrustumf などの表示変換はサポートされていません。独自の変換行列を計算し、それを均一変数として頂点シェーダーに渡し、シェーダーで行列の乗算を実行する必要があります。
  3. glVertexPointer や glNormalPointer などの特殊な関数はサポートされていません。代わりに glVertexAttribPointer を使用してください。
于 2013-11-05T06:40:13.980 に答える