web-dev-qa-db-ja.com

OpenGL ES 2.0とOpenGL ES 3.0の違いは何ですか

OpenGL ES 2.0OpenGL ES 3.0の違いを知りたい。

OpenGL ES 3.0の主な利点は何ですか?

30
pushyu

公式の specs のセクション「Version 3.0 and Before-> New Features」を読むのが最善だと思います。

また、ES 2.0との下位互換性があります。

13
Alexey Odintsov

Wikipedia :から直接

OpenGL ES 3.0仕様は2012年8月に公開されました。OpenGLES 3.0はOpenGL ES 2.0と下位互換性があるため、アプリケーションは新しい視覚機能をアプリケーションに段階的に追加できます。

OpenGL ES 3.0仕様の新機能には以下が含まれます。

  • オクルージョンクエリ、変換フィードバック、インスタンス化されたレンダリング、4つ以上のレンダリングターゲットのサポートなど、高度な視覚効果の加速を可能にするレンダリングパイプラインの複数の機能強化、
  • 標準機能としての高品質ETC2/EACテクスチャ圧縮。プラットフォームごとに異なるテクスチャセットの必要性を排除し、
  • 整数および32ビット浮動小数点演算を完全にサポートするGLSL ESシェーディング言語の新しいバージョン。
  • 浮動小数点テクスチャ、3Dテクスチャ、深度テクスチャ、頂点テクスチャ、NPOTテクスチャ、R/RGテクスチャ、不変テクスチャ、2D配列テクスチャ、スウィズル、LOD and mipレベルクランプ、シームレスキューブマップ、サンプラーオブジェクト、
  • 必要な明示的にサイズ設定されたテクスチャとレンダーバッファ形式の広範なセット。実装のばらつきを減らし、ポータブルアプリケーションの作成をはるかに簡単にします。
8

全体的に、変更によりバッファが大きくなり、フォーマットが増え、ユニフォームが増え、柔軟性が向上します。インスタンス化されたレンダリング、ピクセルバッファオブジェクト、オクルージョンクエリなどの追加機能により、最適化の機会が提供されます。プラットフォームによっては革命的かもしれませんが、主要な機能の多くはすでにiOSなどのプラットフォームでの拡張機能でした。

私の個人的な仕事にとって、最も重要な変更は次のとおりです。

  • 頂点配列オブジェクト
  • インスタンス化されたレンダリング
  • ETC2/EACテクスチャ圧縮形式(以前はAndroid各カードメーカーは独自のテクスチャ形式のみをサポートしていました)

Alexeyからリンクされた仕様に記載されている変更点のリストを次に示します。

OpenGL ES 3.0の新機能は次のとおりです。

  • OpenGLシェーディング言語ES 3.00
  • フィードバック1および2を変換します(制限付き)
  • ブロック配列を含む均一なバッファオブジェクト
  • 頂点配列オブジェクト
  • サンプラーオブジェクト
  • オブジェクトとフェンスを同期する
  • ピクセルバッファオブジェクト
  • バッファサブレンジマッピング
  • オブジェクトのコピーをバッファリングするバッファオブジェクト314
  • 保守モードを含むブールオクルージョンクエリ
  • シェーダー変数および/または頂点属性除数によるインスタンス化されたレンダリング
  • 複数のレンダーターゲット
  • 2D配列と3Dテクスチャ
  • 簡素化されたテクスチャストレージ仕様
  • RおよびRGテクスチャ
  • テクスチャスウィズル
  • シームレスなキューブマップ
  • 完全なラップモードのサポートとミップマッピングを備えた2のべき乗以外のテクスチャ
  • テクスチャLODクランプとミップマップレベルのベースオフセットと最大クランプ
  • フラグメントシェーダーと頂点シェーダー用に少なくとも32個のテクスチャ、それぞれ少なくとも16個
  • 16ビット(フィルタリングあり)および32ビット(フィルタリングなし)の浮動小数点テクスチャ
  • 32ビット、16ビット、および8ビットの符号付きおよび符号なし整数レンダーバッファー、テクスチャ、および頂点属性
  • 8ビットsRGBテクスチャおよびフレームバッファ(混合RGB/sRGBレンダリングなし)
  • 11/11/10浮動小数点RGBテクスチャ
  • 共有指数RGB 9/9/9/5テクスチャ
  • 10/10/10/2符号なし正規化および非正規化整数テクスチャ
  • 10/10/10/2符号付きおよび符号なしの正規化された頂点属性
  • 16ビット浮動小数点頂点属性
  • コンポーネントあたり8ビットの符号付き正規化テクスチャ
  • ETC2/EACテクスチャ圧縮形式
  • 最小精度保証付きのサイズの内部テクスチャフォーマット
  • マルチサンプルレンダーバッファ
  • 8ビットの符号なし正規化レンダーバッファー
  • 深度テクスチャと影の比較
  • 24ビット深度のレンダーバッファーとテクスチャ
  • 24/8深度/ステンシルレンダーバッファーとテクスチャ
  • 32ビット深度および32F/8深度/ステンシルレンダーバッファとテクスチャ
  • ストレッチブリット(制限付き)
  • フレームバッファ無効化のヒント
  • 固定インデックスを使用したプリミティブ再起動
  • 少なくとも24の使用可能なビットを持つ符号なし整数要素インデックス
  • アクセスする要素の範囲を指定できる描画コマンド
  • ミップマップレベルをフレームバッファオブジェクトにアタッチする機能
  • 最小/最大ブレンド方程式
  • リンクされたGLSLプログラムからのバイナリのクエリを含むプログラムバイナリ
  • 必須のオンラインコンパイラ
  • 非正方形および転置可能な均一行列
  • 追加のピクセルストア状態
  • インデックス付き拡張文字列クエリ
7
Justin Meiners