差分

ナビゲーションに移動 検索に移動

OpenGL ES

264 バイト追加, 2018年8月12日 (日) 00:28
== バージョン ==
OpenGL ES 1.0
OpenGL ES 2.0は、[[プログラマブルシェーダー]]に対応した仕様であり、シェーディング言語[[GLSL]] ESに対応する一方で固定機能シェーダーは削除されている。OpenGL ES 2.0は1.x系との完全な後方[[互換性]]はない。陰影計算・質感表現をプログラマブルシェーダーで記述することによって、GPUによる支援が受けられるようになる。
 
=== OpenGL ES 1.0 ===
OpenGL ES 1.x系には1.0と1.1の2つが存在する。1.x系は処理が固定された[[シェーダー]](固定機能シェーダー)のみに対応しており、プログラム可能なシェーディング機能([[プログラマブルシェーダー]])には対応していない。このため、[フラットシェーディング]]あるいは[[グーローシェーディング]]といったカスタマイズ不可能な頂点単位の[[シェーディング]](陰影計算)や質感表現のみがサポートされている。
=== OpenGL ES 2.0 ===
OpenGL ES 2.0はOpenGL 2.0のサブセットとして2007年に公開された。0のサブセットとして2007年に公開された。OpenGL 2.0およびDirectX 9相当。 [[iPhone 3GS]]以降、[[iPod Touch]]の第3世代以降、[[iPad]]、[[Android]] 2.2以降などでサポートされている。2016年現在の2以降などでサポートされている。2016年現在の[[iPhone 6s]]や[[Android 6.0]]も基本はOpenGL ES 2.0である。0である。現実問題としてAndroidでまともに動くのはこれしかない。ES3.0以降は対応機種が激減するためほとんど使用されていない。現実問題としてまともに動くのはこれしかない。OpenGL ES 2.0は、[[プログラマブルシェーダー]]に対応した初のバージョンであり、シェーディング言語「GLSL ES」に対応する。一方で固定機能シェーダーは削除されている。つまりOpenGL ES 2.0と1.x系はほぼ[[互換性]]はない。陰影計算・質感表現をプログラマブルシェーダーで記述することによってGPUによる支援が受けられるようになる。逆を言えばプログラマブルシェーダーで記述しなければGPU支援は受けられない。
[[シェーディング言語]]は時代遅れ感が満載のGLSL ES 1.0をサポートする。プログラマブルシェーダーステージは[[プログラマブルシェーダー]]ステージは[[バーテックスシェーダー]]([[頂点シェーダー]])と[[フラグメントシェーダー]]([[ピクセルシェーダー]])の2つをサポートする。頂点単位やピクセル単位の陰影計算・質感表現の制御が[[GPU]]により支援される。[[シェーダー]]は書き込みのみで読み出しはできないクソ仕様である。
なお、本家OpenGLはバージョン4.1でOpenGL ES 2.0プロファイルを扱うことができるようになっている。
{{stub}}
<references />
匿名利用者

案内メニュー