OpenGL ES

OpenGL for Embedded SystemsOpenGL ESまたはGLES )は、 OpenGLコンピュータグラフィックスレンダリングアプリケーションプログラミングインターフェース(API)のサブセットであり、ビデオゲームで使用されるような2Dおよび3Dコンピュータグラフィックスのレンダリングに使用されます。通常、グラフィックスプロセッシングユニット(GPU)を用いたハードウェアアクセラレーションが用いられます。スマートフォン、タブレット、ビデオゲーム機、PDAなどの組み込みシステム向けに設計されています。OpenGL ESは、「史上最も広く導入されている3DグラフィックスAPI」です。

APIはクロスランゲージ、マルチプラットフォームに対応しています。OpenGL ESは、非営利技術コンソーシアムのKhronos Groupによって管理されています。Khronosの次世代APIである Vulkanは、モバイルデバイスとデスクトップデバイス向けの、よりシンプルで高性能なドライバーを実現するために開発されました。

バージョン

OpenGL ES仕様には現在、複数のバージョンが存在します。OpenGL ES 1.0はOpenGL 1.3仕様に基づいて策定され、OpenGL ES 1.1はOpenGL 1.5仕様を基準に、OpenGL ES 2.0はOpenGL 2.0仕様を基準に定義されています。つまり、例えばOpenGL ES 1.0向けに作成されたアプリケーションは、デスクトップ版のOpenGL 1.3に容易に移植できるはずです。一方、OpenGL ESはAPIの簡素化されたバージョンであるため、使用される機能によっては、その逆は当てはまらない場合があります。

OpenGL ESには、 OpenGL SLとは異なる独自のシェーディング言語(OpenGL ES SL)が付属しています。[ 1 ]

バージョン 1.0 と 1.1 には、共通(CM) プロファイルと共通 Lite (CL) プロファイルがありますが、共通 Liteプロファイルでは浮動小数点データ型のサポートではなく固定小数点データ型のサポートのみがサポートされるのに対し、共通では両方がサポートされるという違いがあります。

OpenGL ES 1.0

OpenGL ES 1.0 は、2003 年 7 月 28 日に公開されました。OpenGL ES 1.0 はオリジナルの OpenGL 1.3 API をベースにしていますが、多くの機能が削除され、いくつかの機能が追加されています。OpenGL と OpenGL ES の大きな違いの 1 つは、OpenGL ES では OpenGL ライブラリの呼び出しを と で囲む必要がなくなったことですglBeginglEndその他の大きな違いとしては、プリミティブ レンダリング関数の呼び出しセマンティクスが頂点配列を使用するように変更され、 頂点座標に固定小数点データ型が導入されたことです。浮動小数点ユニット(FPU)がないことが多い組み込みプロセッサの計算能力をより適切にサポートするための属性も追加されました。バージョン 1.0 では、軽量なインターフェイスを実現するために、次の関数とレンダリング プリミティブが削除されました。

  • 四角形およびポリゴンのレンダリング プリミティブ。
  • texgen、ライン、ポリゴンの点描。
  • ポリゴン モードとアンチエイリアス ポリゴン レンダリングはサポートされていませんが、マルチサンプルを使用したレンダリングは引き続き可能です (アルファ ボーダー フラグメントではなく)。
  • ARB_Imageピクセル クラス操作、ビットマップ、および 3D テクスチャはサポートされていません。
  • フロントバッファや蓄積バッファなどの技術的な描画モードのいくつかが削除されます。
  • ピクセルを個別にコピーするビットマップ操作、評価子、およびユーザー選択操作は許可されません。
  • 表示リストとフィードバックは削除され、状態属性のプッシュおよびポップ操作も削除されます。
  • また、バックフェースパラメータやユーザー定義のクリッププレーンなど、一部のマテリアルパラメータが削除されました。

実際のバージョンは1.0.0.2です。[ 2 ]

拡張機能名 ソート番号 詳細
OES_バイト座標OpenGL ES 拡張機能 #4(旧 OpenGL 拡張機能 #291)
OES_圧縮パレットテクスチャOpenGL ES 拡張機能 #6(旧 OpenGL 拡張機能 #294)
OES_固定小数点OpenGL ES 拡張機能 #9(旧 OpenGL 拡張機能 #292)
OES_クエリ_マトリックスOpenGL ES 拡張機能 #16(旧 OpenGL 拡張機能 #296)
OES_読み取りフォーマットOpenGL ES 拡張機能 #17(旧 OpenGL 拡張機能 #295)
OES_単精度OpenGL ES 拡張機能 #18(旧 OpenGL 拡張機能 #293)
オプションメサ(ほとんどのドライバー)
OES_圧縮_ETC1_RGB8_テクスチャOpenGL ES 拡張機能 #5

OpenGL ES 1.1

OpenGL ES 1.1では、マルチテクスチャの必須サポート、より優れたマルチテクスチャサポート(コンバイナやドット積テクスチャ演算を含む)、自動ミップマップ生成、頂点バッファオブジェクト、状態クエリ、ユーザークリッププレーン、ポイントレンダリングのより高度な制御などの機能が追加されました。[ 3 ] 実際のバージョンは1.1.12です。[ 4 ]

拡張機能名 ソート番号
OES_draw_textureOpenGL ES 拡張機能 #7
OES_matrix_getOpenGL ES 拡張機能 #11
OES_ポイントサイズ配列OpenGL ES 拡張機能 #14
OES_ポイント_スプライトOpenGL ES 拡張機能 #15
オプション メサ(全ドライバー)
OES_フレームバッファ_オブジェクトOpenGL ES拡張機能 #10(ES 2.0でコアになった)[ 5 ]
OES_EGL_イメージOpenGL ES 拡張機能 #23
OES_EGL_画像_外部OpenGL ES 拡張機能 #87
OES_必須内部フォーマットOpenGL ES 拡張機能 # 未定

OpenGL ES 2.0

OpenGL ES 2.0 は、2007 年 3 月に一般公開されました。[ 6 ]これは OpenGL 2.0 をほぼベースとしていますが、OpenGL 3.0 から 3.1 への移行に似た動きで、固定機能のレンダリング パイプラインの大部分を排除し、プログラマブル パイプラインを採用しています。 [ 7 ]シェーダーの制御フローは一般に、前向き分岐と、最大反復回数をコンパイル時に簡単に決定できるループに限定されています。[ 8 ]以前は固定機能 API によって指定されていたマテリアルやライト パラメーターの指定など、変換およびライティング ステージのほぼすべてのレンダリング機能は、グラフィックス プログラマが記述したシェーダーに置き換えられています。その結果、OpenGL ES 2.0 はOpenGL ES 1.1 と下位互換性がありません。デスクトップ バージョンの OpenGL と OpenGL ES 2.0 の間には、拡張機能が追加された OpenGL 4.1 まで一部の非互換性が残っていましたGL_ARB_ES2_compatibility[ 9 ] 実際のバージョンは 2.0.25 です。[ 10 ]

クロノスグループはOpenGL ES 2.0と通常のOpenGL 2.0の違いを説明した文書を作成しました。[ 11 ]

拡張機能名 ソート番号
OES_テクスチャ_キューブ_マップOpenGL ES 拡張機能 #20
OES_テクスチャ_npotOpenGL ES 拡張機能 #37
OES_深さ24OpenGL ES 拡張機能 #24
OES_深度テクスチャOpenGL ES 拡張機能 #44
OES_要素_インデックス_uintOpenGL ES 拡張機能 #26
OES_fbo_render_mipmapOpenGL ES 拡張機能 #27
OES_get_program_binaryOpenGL ES 拡張機能 #47
OES_マップバッファOpenGL ES 拡張機能 #29
OES_パックされた深さ_ステンシルOpenGL ES 拡張機能 #43
OES_rgb8_rgba8OpenGL ES 拡張機能 #30
OES_ステンシル8OpenGL ES 拡張機能 #33
OES_頂点半浮動小数点OpenGL ES 拡張機能 #38
追加 MESA(全ドライバー)
OES_EGL_イメージOpenGL ES 拡張機能 #23 (1.1 では異なります)
OES_EGL_画像_外部OpenGL ES 拡張機能 #87 (1.1 では異なります)
OES_テクスチャ_3DOpenGL ES拡張機能 #34(ES 3.0でコアになった)[ 12 ]
OES_テクスチャ_float_linear OES_テクスチャ_half_float_linearOpenGL ES 拡張機能 #35、ES 3.0 および 3.1 で拡張
OES_texture_float OES_texture_half_floatOpenGL ES 拡張機能 #36、ES 3.0 および 3.1 で拡張
OES_標準導関数OpenGL ES 拡張機能 #45
OES_頂点配列オブジェクトOpenGL ES拡張機能 #71(ES 3.0でコアになった)[ 12 ]
OES_表面のないコンテキストOpenGL ES 拡張機能 #116
OES_深度テクスチャキューブマップOpenGL ES 拡張機能 #136
EXT_テクスチャ_フィルター_異方性OpenGL ES 拡張機能 #41
EXT_テクスチャ_タイプ_2_10_10_10_REVOpenGL ES 拡張機能 #42
EXT_テクスチャ_圧縮_dxt1OpenGL ES 拡張機能 #49
EXT_テクスチャ_フォーマット_BGRA8888OpenGL ES 拡張機能 #51
EXT_discard_framebufferOpenGL ES 拡張機能 #64
EXT_blend_minmaxOpenGL ES 拡張機能 #65
EXT_read_format_bgraOpenGL ES 拡張機能 #66
EXT_multi_draw_arraysOpenGL ES 拡張機能 #69
EXT_frag_depthOpenGL ES 拡張機能 #86
EXT_unpack_サブイメージOpenGL ES 拡張機能 #90
EXT_テクスチャ_rgOpenGL ES 拡張機能 #103
EXT_draw_buffersOpenGL ES 拡張機能 #151
EXT_圧縮_ETC1_RGB8_サブテクスチャOpenGL ES 拡張機能 #188
NV_draw_buffersOpenGL ES 拡張機能 #91
NV_fbo_color_attachmentsOpenGL ES 拡張機能 #92
NV_read_bufferOpenGL ES 拡張機能 #93
NV_read_depth_stencilOpenGL ES 拡張機能 #94
ANGLE_テクスチャ_圧縮_dxtOpenGL ES 拡張機能 #111

OpenGL ES 3.0

OpenGL ES 3.0仕様[ 13 ]は2012年8月に公開されました。[ 14 ] OpenGL ES 2.0との下位互換性があり、WebGL 2.0とは部分的に互換性があります。[ 15 ] WebGL 2.0はOpenGL ES 3.0との高い相互運用性を持つように設計されているためです。[ 16 ] OpenGL ES 3.0標準の現在のバージョンは3.0.6で、2019年11月にリリースされました。[ 17 ]

OpenGL ES 3.0 仕様の新しい機能は次のとおりです。

拡張機能名 ソート番号 詳細
KHR_コンテキストフラッシュコントロールOpenGL ES 拡張機能 #191 (GL_KHR_context_flush_control のみ)
追加 MESA(全ドライバー)
OES_テクスチャ_圧縮_astcOpenGL ES 拡張機能 #162
EXT_テクスチャ_境界_クランプOpenGL ES 拡張機能 #182
EXT_draw_elements_base_vertexOpenGL ES 拡張機能 #204
OES_EGL_image_external_essl3OpenGL ES 拡張機能 #220
MESA_シェーダー_整数関数OpenGL ES 拡張機能 #495

OpenGL ES 3.1

OpenGL ES 3.1仕様[ 19 ]は2014年3月に公開されました。OpenGL ES 3.1の新機能には以下が含まれます。[ 20 ]

  • 計算シェーダー
  • 独立した頂点シェーダーとフラグメントシェーダー
  • 間接描画コマンド

OpenGL ES 3.1はOpenGL ES 2.0および3.0と下位互換性があり、アプリケーションに段階的に新機能を組み込むことができます。実際のバージョンは3.1(2016年11月)です。[ 21 ]

拡張機能名 ソート番号
ARB_配列の配列ARB 拡張 #120
ARB_コンピューティング_シェーダーARB 拡張 #122
ARB_明示的な均一な場所ARB 拡張 #128
ARB_フレームバッファ_アタッチメントなしARB 拡張 #130
ARB_プログラム_インターフェース_クエリARB 拡張 #134
ARB_シェーダー_アトミック_カウンターARB 拡張 #114
ARB_シェーダー_イメージ_ロード_ストアARB 拡張 #115
ARB_シェーダー_ストレージ_バッファ_オブジェクトARB 拡張 #137
ARB_分離シェーダーオブジェクトARB 拡張 #97
ARB_ステンシル_テクスチャリングARB 拡張 #138
ARB_頂点属性バインディングARB 拡張 #125
ARB_draw_indirectARB 拡張 #87
ARB_シェーディング_言語_パッキングARB 拡張 #116
ARB_シェーダー_画像サイズARB 拡張 #136
ARB_テクスチャ_ストレージ_マルチサンプルARB 拡張 #141
ARB_テクスチャ_マルチサンプルARB 拡張 #67
EXT_シェーダー整数ミックスOpenGL ES 拡張機能 #161
オプション Mesa (すべてのドライバー OpenGL ES 3.1+)
ARB_サンプル_場所ARB 拡張 #181
OES_テクスチャ_ビューOpenGL ES 拡張機能 #218
NV_画像フォーマットOpenGL ES 拡張機能 #200
EXT_render_snormOpenGL ES 拡張機能 #206
EXT_テクスチャ_norm16OpenGL ES 拡張機能 #207

OpenGL ES 3.2

OpenGL ES 3.2仕様[ 22 ]は2015年8月に公開されました。OpenGL ES 3.2の新機能には以下が含まれます。

  • 複雑なシーンを GPU 上で効率的に処理するためのジオメトリ シェーダーとテッセレーションシェーダー。
  • 浮動小数点レンダリング ターゲットにより、より高精度の計算操作における柔軟性が向上します。
  • ASTC 圧縮により、テクスチャの処理に使用されるメモリ フットプリントと帯域幅を削減します。
  • 高度な合成と複数のカラーアタッチメントの処理を可能にする強化されたブレンディング。
  • テクスチャ バッファー、マルチサンプル 2D 配列、キューブ マップ配列などの高度なテクスチャ ターゲット。
  • デバッグ機能と堅牢性機能により、コード開発が容易になり、実行が安全になります。

実際の状態は2019年7月3日2日6日です。[ 23 ] [ 24 ]

拡張機能名 ソート番号
KHR_ブレンド方程式_高度OpenGL ES 拡張機能 #168
EXT_color_buffer_floatOpenGL ES 拡張機能 #137
KHR_デバッグOpenGL ES 拡張機能 #118
KHR_堅牢性OpenGL ES 拡張機能 #190
OES_コピー画像OpenGL ES 拡張機能 #208
OES_draw_buffers_indexedOpenGL ES 拡張機能 #209
OES_draw_elements_base_vertexOpenGL ES 拡張機能 #219
OES_ジオメトリ_シェーダーOpenGL ES 拡張機能 #210
OES_gpu_shader5OpenGL ES 拡張機能 #211
OES_サンプルシェーディングOpenGL ES 拡張機能 #169
OES_サンプル変数OpenGL ES 拡張機能 #170
OES_シェーダー_イメージ_アトミックOpenGL ES 拡張機能 #171
OES_シェーダー_io_ブロックOpenGL ES 拡張機能 #213
OES_シェーダー_マルチサンプル_補間OpenGL ES 拡張機能 #172
OES_テッセレーション_シェーダーOpenGL ES 拡張機能 #214
OES_テクスチャ_境界_クランプOpenGL ES 拡張機能 #215
OES_テクスチャ_バッファOpenGL ES 拡張機能 #216
OES_テクスチャ_キューブ_マップ_配列OpenGL ES 拡張機能 #217
OES_テクスチャ_ステンシル8OpenGL ES 拡張機能 #173
OES_テクスチャ_ストレージ_マルチサンプル_2d_配列OpenGL ES 拡張機能 #174
KHR_テクスチャ_圧縮_astc_ldrOpenGL ES 拡張機能 #117 (LDR のみ)
OES_プリミティブバウンディングボックスOpenGL ES 拡張機能 #212
オプション Mesa (すべてのドライバー OpenGL ES 3.2+)
KHR_テクスチャ_圧縮_astc_hdrOpenGL ES 拡張機能 #117 (LDR を含む)、ARB 拡張機能 #118
KHR_blend_equation_advanced_coherentOpenGL ES 拡張機能 #168
KHR_テクスチャ_圧縮_astc_sliced_3dOpenGL ES 拡張 #249 (ARB 拡張 #189)

OES_ビューポート配列

OpenGL ES 拡張機能 #267

Mesa では、次の OpenGL ES バージョンに向けて、さらにいくつかの拡張機能が開発中または開発中です (Mesamatrix を参照)。

次世代APIはVulkanです。[ 25 ]

プラットフォームの使用状況

企業とその適合製品の完全なリストについては、こちらをご覧ください。

OpenGL ES 1.0

OpenGL ES 1.0はAndroid [ 26 ]およびSymbian OS v8.0a [ 27 ] [ 28 ]オペレーティングシステムに公式の3DグラフィックスAPIを追加したほか、QNX [ 29 ]でもサポートされています。また、 PlayStation 3でも公式グラフィックスAPIの1つとしてサポートされています[ 30 ] (もう1つは低レベルのlibgcmライブラリ) GLSLの代わりにNvidiaのCgを使用しています。 [ 31 ] PlayStation 3には、OpenGL ESバージョン2.0の機能もいくつか含まれています。

OpenGL ES 1.1

OpenGL ES バージョン 1.1 は以下によってサポートされています:

OpenGL ES 2.0

サポート:

OpenGL ES 3.0

サポート:

これらのGPUの最近のバージョンでサポートされています: [ 42 ] [ 43 ]

  • Adreno 300 および 400 シリーズ ( AndroidBlackBerry 10、Windows10 Windows RT )
  • Mali T600 シリーズ以降 (Android、LinuxWindows 7)
  • PowerVRシリーズ6 ( iOS、Linux)
  • ビバンテ(Android、OS X 10.8.3、Windows 7)
  • Nvidia (Android)、Tesla G80+: Linux、Windows 7+
  • Intel HD Graphics Sandy Bridge以上(Linux)[ 38 ]
  • AMD Terascale と実際の G​​CN アーキテクチャ (Windows、Linux)
  • LLVMpipeとSoftpipe:Mesaのソフトドライバー[ 39 ]
  • VIRGL: 2018 年の Mesa 18.1 を使用した仮想マシン用の仮想ドライバー (Mesamatrix.net を参照)

OpenGL ES 3.1

適切なハードウェアとドライバーを搭載したデバイス上のWindows、Linux、Android(バージョン5.0以降)でサポートされています。 [ 44 ]

  • アドレノ400シリーズ[ 45 ] [ 46 ]
  • Adreno 500 シリーズ (Linux および Android 用の Mesa 18.1)
  • AMD Terascale および実際の G​​CN アーキテクチャ (Windows、Linux (r600、radeonSI))
  • Intel Atom Z3700 シリーズ向け Intel HD グラフィックス(Android)
  • Intel Celeron N および J シリーズ向け Intel HD グラフィックス (Android)
  • Intel Pentium N および J シリーズ向け Intel HD グラフィックス (Android)
  • Intel HD Graphics Haswell以上(Linux Mesa:以前のIvy Bridgeはステンシルテクスチャリングがほとんどなかった)[ 38 ]
  • Mali T6xx (midgard) シリーズ以降[ 47 ] (Android、Linux)
  • Nvidia GeForce 400 シリーズ以降 (Windows、Linux)
  • Nvidia Tegra K1 (Android、Linux)
  • Nvidia Tegra X1 (Android)
  • PowerVR シリーズ 6、6XE、6XT、7XE、7XT (Linux、Android)
  • Vivante GC2000シリーズ以降(GC800およびGC1000ではオプション)[ 48 ]
  • panfrost: ARM panfrost サポート (Linux Mesa 22.0)
  • v3d: Mesa の Broadcom VideoCore 用ドライバー (Linux)
    • Raspberry Pi 4と5
  • VIRGL: 2018 年の Mesa 18.1 を使用した仮想マシン用の仮想ドライバー (Mesamatrix.net を参照)
  • LLVMpipe: Mesa 20.2 (Linux) のソフトウェア ドライバー
  • softpipe: Mesa 20.3 (Linux) のソフトウェア ドライバー
  • Zink: Mesa 21.1 (Linux) のエミュレーション ドライバー
  • d3d12: Microsoft 10+ (Mesa 22.0) 用の WSL2 Linux ドライバー
  • Fedora Asahi Remix (Linux) の Apple M1 および M2 グラフィックス

Android 拡張パック

Android Extension Pack(AEP)は、OpenGL ES 3.1の拡張機能を1つの拡張機能にまとめたセットで、2014年にGoogleによって導入されました。これにより、アプリケーションは拡張機能セットのすべての機能を使用しながら、1つの拡張機能の存在のみをテストできます。AEPはAndroid Lollipopに正式に追加され、GLES 3.1リビジョンに正式に含まれていた機能に加えて、テッセレーションなどの追加機能を提供します。OpenGL ES 3.2アップデートは、デスクトップ版OpenGLに既に存在するAEPの追加機能を中心に構成されています。[ 49 ]

OpenGL ES 3.2

Linux システムでの OpenGL ES 3.2 の使用 ( AMDGPU搭載)

Android Extension Pack (AEP)を組み込んだOpenGL ES 3.2は、「昨年のOpenGL ES 3.1に比べていくつかの改良が施されています。どちらもAEPの同様の機能を活用しています。AEPでは、OpenGL ES 3.2準拠のハードウェアは、ジオメトリの詳細を追加するためのテッセレーション、新しいジオメトリシェーダー、メモリ帯域幅のフットプリントを削減するためのASTCテクスチャ圧縮、高精度の計算プロセスのための浮動小数点レンダリングターゲット、そして開発者向けの新しいデバッグ機能をサポートします。これらのハイエンド機能は、グループの完全なOpenGL 4仕様に既に含まれています。」[ 50 ] [ 51 ]

適切なハードウェアとドライバーを搭載したデバイス上の Windows、Linux、Android (バージョン 6.0 以降可能、7.0+ Vulkan 1.0 および OpenGL ES 3.2 が必要) でサポートされます。これには以下が含まれます。

  • Adreno 420以降(Android、Linux(freedreno))
  • AMD GCN アーキテクチャ (Windows、Linux (Mesa 18.2 と radeonSI))
  • Intel HD Graphics Skylake以上(Linux)[ 38 ]
  • Mali-T760以降(Android、Linux)
  • Nvidia GeForce 400シリーズ(Fermi)以降(Windows、Linux)[ 52 ]
  • VIRGL: 2018 年の Mesa 18.1 を使用した仮想マシン用の仮想ドライバー (Mesamatrix.net を参照)
  • LLVMpipe: Mesa 20 (Linux) のソフトウェア ドライバー
  • Zink: Mesa 21.2 (Linux) の Vulkan エミュレーション ドライバー

Appleプラットフォームにおける廃止

OpenGL ES(およびOpenGL)は、 Appleのオペレーティングシステムでは廃止され、独自のMetalグラフィックAPIが採用されましたが、少なくともiOS 12までは動作していました。[ 53 ]

未来

OpenGL ESの新しいコアバージョンについては、 Vulkanの採用により組み込みアプリケーションやモバイルアプリケーションでOpenGL ESが置き換えられる可能性があるため、現在計画はありません。OpenGL ESの拡張機能の開発は2017年現在も継続されています。 [ 54 ]

OpenGLの互換性

GL ES を使用して OpenGL 呼び出しをエミュレートするためのライブラリがいくつか作成されています。

  • Nvidiaは、2条項BSDライセンスのライブラリ「Regal」を提供しています。これは元々Cass Everitt氏によって開発され、2016年に最終更新されました。[ 55 ] Regalは、例えばGoogleのNaClで使用されています。[ 56 ]
  • MITライセンスのGL4ESは、GL ES 2.0/1.1を用いてOpenGL 2.1/1.5をエミュレートします。これはglshimに基づいています。[ 57 ]

参照

参考文献

  1. ^ 「OpenGL ES 2.0ではどのバージョンのGLSLを使用できますか?」。Stack Overflow。
  2. ^ Blythe, David. 「OpenGL ES Common/Common-Lite プロファイル仕様 - バージョン 1.0.02 (注釈付き)」(PDF) . registry.khronos.org . 2024年9月22日時点のオリジナルよりアーカイブ(PDF) 。
  3. ^ 「OpenGL ES 1.1+ および ES 2.0」(PDF) . developer.amd.com . GameDevelopers Conference. 2021年2月24日時点のオリジナル(PDF)からのアーカイブ。
  4. ^ Munshi, Aaftab; Leech, Jon (2008年4月24日). 「OpenGL ES Common/Common-Lite プロファイル仕様 - バージョン1.1.12 (完全仕様)」(PDF) . registry.khronos.org . 2024年12月31日時点のオリジナルよりアーカイブ(PDF) .
  5. ^ 「スタックオーバーフロー:glGenFramebuffersOESとglGenFramebuffers?」2022年4月19日閲覧
  6. ^ 「Khronosプレスリリース - OpenGL ES 2.0」 Khronos.org. 2007年3月5日。2010年12月28日時点のオリジナルよりアーカイブ2010年12月23日閲覧。
  7. ^ Edward Angel、Dave Shreiner、「インタラクティブコンピュータグラフィックス:シェーダベースのOpenGLによるトップダウンアプローチ」、第6版、p. xxi-xxii、 ISBN 978-0-13-254523-5
  8. ^ 「OpenGL® ESシェーディング言語」(PDF) . Khronos.org . 2013年2月16日閲覧
  9. ^ 「OpenGL(R)グラフィックス システム: 仕様 (バージョン 4.1 (コア プロファイル))」(PDF)。2010年7月25日。
  10. ^ Munshi, Aaftab; Leech, Jon (2010年11月2日). 「OpenGL ES 共通プロファイル仕様 - バージョン2.0.25 (完全仕様)」(PDF) . registry.khronos.org . 2025年3月12日時点のオリジナルよりアーカイブ(PDF) 。
  11. ^ 「OpenGL© ES – 共通プロファイル仕様 2.0.25 (差分仕様)」(PDF) 2010年11月2日。
  12. ^ a b「OpenGL ES 3.0プログラミングガイド」(PDF) . Pearson Education, Inc. 2022年4月18日閲覧
  13. ^ "Khronos OpenGL ES レジストリ - The Khronos Group Inc" .レジストリ.khronos.org
  14. ^ 「Khronos、モバイル3Dグラフィックスを次のレベルに引き上げるOpenGL ES 3.0仕様を発表」 Khronos、2012年8月6日。 2012年8月6日閲覧
  15. ^ 「WebGL: Web向け2Dおよび3Dグラフィックス」 . Mozilla . 2023年6月30日閲覧。
  16. ^ 「WebGL 2.0仕様」 . registry.khronos.org .
  17. ^ Leech, Jon; Lipchak, Benj (2019年11月1日). 「OpenGL ES - バージョン3.0.6」(PDF) . registry.khronos.org . 2025年1月31日時点のオリジナルよりアーカイブ(PDF) 。
  18. ^ 「GLSL ES 3.0仕様」(PDF) . Khronos . 2023年6月30日閲覧
  19. ^ "Khronos OpenGL ES レジストリ - The Khronos Group Inc" .レジストリ.khronos.org
  20. ^ 「Khronos、OpenGL ES 3.1仕様を発表」 Khronos.org. 2014年3月17日. 2014年3月17日閲覧
  21. ^ Leech, Jon (2016年11月3日). 「OpenGL ES - バージョン3.1」(PDF) . registry.khronos.org . 2024年9月22日時点のオリジナルよりアーカイブ(PDF) 。
  22. ^ "Khronos OpenGL ES レジストリ - The Khronos Group Inc" .レジストリ.khronos.org
  23. ^ Leech, Jon (2022年5月5日). 「OpenGL ES - バージョン3.2」(PDF) . registry.khronos.org . 2024年9月22日時点のオリジナルよりアーカイブ(PDF) 。
  24. ^ 「OpenGL ES Shading Language - バージョン3.20.8」(PDF) . registry.khronos.org . 2023年8月14日. 2025年1月24日時点のオリジナルよりアーカイブ(PDF) 。
  25. ^ 「次世代OpenGLがVulkanに:追加の詳細が発表」。 2015年3月4日時点のオリジナルよりアーカイブ。
  26. ^ 「Android プラットフォーム」。Android開発者
  27. ^ 「Symbian OS バージョン8.0 製品シート」 2008年3月30日. 2008年3月30日時点のオリジナルよりアーカイブ2008年3月30日閲覧。
  28. ^ Dueder, Janelle (2022年12月9日). 「OpenGL ES - Symbianゲーム開発」 . 25 Years of Programming . 2023年1月14日時点のオリジナルよりアーカイブ2023年1月14日閲覧。
  29. ^ 「OpenGL ESの使用」 . QNXソフトウェア開発プラットフォーム(v6.5.0) . QNX . 2011年1月8日閲覧
  30. ^ 「OpenGL ESデモ(PPT形式)」クロノス・グループ2021年11月21日。
  31. ^ 「OpenGL ES/PSGLプレゼンテーション(PPT形式)」ソニークロノス、2021年11月21日。
  32. ^ 「Nokia 6630でOpenGL ES SDKが利用可能に」Khronosフォーラム2004年9月22日閲覧2023年1月14日閲覧
  33. ^ 「このベータリリースの新機能」リリースノート - BlackBerry Javaアプリケーション。Research in Motion 。 2009年12月2日時点のオリジナルよりアーカイブ。 2009年12月8日閲覧
  34. ^ Koh, Damian (2009年11月29日). 「BlackBerryスマートフォンに期待すること」 . CNET Asia . 2009年12月13日時点のオリジナルよりアーカイブ。 2009年12月8日閲覧
  35. ^ a b「PDK - 概要」 HP Palm Developer Center. 2011年1月1日時点のオリジナルよりアーカイブ2010年12月23日閲覧。
  36. ^ 「DMP、OpenGL ES 1.1準拠のPICA 200が任天堂に採用されたと発表」 2010年6月21日。 2013年6月2日閲覧
  37. ^ 「Android 2.2仕様」 2010年7月1日. 2010年10月11日時点のオリジナルよりアーカイブ。
  38. ^ a b c d「Mesa OpenGL 拡張機能と機能」 . people.freedesktop.org .
  39. ^ a b「Mesa OpenGL 拡張機能と機能」 . people.freedesktop.org .
  40. ^ 「Maemoソフトウェア - Nokia > Nokia N900モバイルコンピュータ > 技術仕様」 Nokia Corporation. 2009年10月29日時点のオリジナルよりアーカイブ。 2010年1月12日閲覧
  41. ^ 「開発者向けiOS 8」。Apple Developer。
  42. ^ “Khronos 準拠製品” . 2021年11月21日。
  43. ^ Sag, Anshel (2013年4月11日). 「OpenGL ES 3.0の現状:誰が何を所有しているのか」 . Bright Side of News . 2013年6月15日時点のオリジナルよりアーカイブ。 2015年12月22日閲覧
  44. ^ 「OpenGL ES3.1準拠製品」 。 2014年8月11日閲覧
  45. ^ 「Adreno™ グラフィックス・プロセッシング・ユニット」 . Qualcomm . 2014年8月11日閲覧
  46. ^ 「GL ES 3.1 on Adreno 3xx?」2014年8月11日閲覧
  47. ^ 「ARMのMali Midgardアーキテクチャを検証」 AnandTech。2014年7月5日時点のオリジナルよりアーカイブ。 2014年8月11日閲覧
  48. ^ 「Vivante Vega Cores for 3D」 . Vivante. 2014年10月17日時点のオリジナルよりアーカイブ2014年12月10日閲覧。
  49. ^ 「KhronosがOpenGL ES 3.2と新しいGL拡張機能を発表、ただし今週はVulkanは発表せず」 2015年8月10日。 2015年8月11日閲覧
  50. ^ 「OpenGL ES 3.2とVulkan – 知っておくべきことすべて」 Android Authority、2015年8月15日。 2015年12月22日閲覧
  51. ^ 「3DグラフィックスAPIの現状:SIGGRAPH 2015」(PDF)クロノス2015年には17億台以上のデバイスが出荷される見込み。
  52. ^ 「NVIDIA、『Star Wars バトルフロント』向けGame Readyドライバー358.50をリリース」 AnandTech。2015年10月8日時点のオリジナルよりアーカイブ。 2015年10月7日閲覧
  53. ^ Apple Inc. 「What's New in iOS - Apple Developer」 . developer.apple.com . 2018年8月7日閲覧。OpenGL ESを使用して構築されたアプリはiOS 12でも引き続き動作しますが、OpenGL ESはiOS 13では非推奨となります。
  54. ^ Khronos. 「Vulkan、OpenGL、OpenGL ES」(PDF) . www.khronos.org . 2020年4月24日閲覧
  55. ^ 「p3/regal: OpenGL用Regal」 GitHub。2021年10月18日。
  56. ^ McCutchan, John (2012年9月7日). 「詳細: Regal OpenGLをネイティブクライアントに導入」 . Gamasutra.
  57. ^GL4ES - GLESハードウェア用のOpenGLドライバー」。GitHub

さらに読む

  • ダン・ギンズバーグ。プルノモ、ブディリジャント。シュライナー、デイブ。ムンシ、アフタブ (2014)。OpenGL ES 3.0 プログラミング ガイド。アディソン・ウェスリー・プロフェッショナル。ISBN 978-0-321-93388-1
  • プーリ、カリ。アーニオ、トミ。ミエッティネン、ヴィル;ロイメラ、キンモ、ヴァーララ、ジャニ (2007)。OpenGL ES および M3G を使用したモバイル 3D グラフィックス。モーガン・カウフマン。ISBN 978-0-12-373727-4
  • Astle, Dave & Durnil, David (2004). OpenGL ES ゲーム開発. Course Technology PTR. ISBN 1-59200-370-2
  • Pulli, Kari; Aarnio, Tomi; Roimela, Kimmo & Vaarala, Jani (2005). 「モバイルデバイス向けグラフィックスプログラミングインターフェースの設計」. IEEE Computer Graphics and Applications . 25 (6). IEEE CG&A 2005: 66– 75. Bibcode : 2005ICGA...25f..66P . doi : 10.1109 / MCG.2005.129 . PMID  16315479. S2CID  8177273 .