「OpenGL ES」の版間の差分

imported>Administrator
imported>Administrator
12行目: 12行目:
== バージョン ==
== バージョン ==


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 1.x系には1.0と1.1の2つが存在する。1.x系は処理が固定された[[シェーダー]](固定機能シェーダー)のみに対応しており、プログラム可能なシェーディング機能([[プログラマブルシェーダー]])には対応していない。このため、[フラットシェーディング]]あるいは[[グーローシェーディング]]といったカスタマイズ不可能な頂点単位の[[シェーディング]](陰影計算)や質感表現のみがサポートされている。


35行目: 33行目:


=== OpenGL ES 2.0 ===
=== OpenGL ES 2.0 ===
OpenGL ES 2.0はOpenGL 2.0のサブセットとして2007年に公開された。
OpenGL ES 2.0はOpenGL 2.0のサブセットとして2007年に公開された。OpenGL 2.0およびDirectX 9相当。
[[iPhone 3GS]]以降、[[iPod Touch]]の第3世代以降、[[iPad]]、[[Android]] 2.2以降などでサポートされている。
 
2016年現在の[[iPhone 6s]]や[[Android 6.0]]も基本はOpenGL ES 2.0である。
[[iPhone 3GS]]以降、[[iPod Touch]]の第3世代以降、[[iPad]]、[[Android]] 2.2以降などでサポートされている。2016年現在の[[iPhone 6s]]や[[Android 6.0]]も基本はOpenGL ES 2.0である。現実問題としてAndroidでまともに動くのはこれしかない。ES3.0以降は対応機種が激減するためほとんど使用されていない。
現実問題としてまともに動くのはこれしかない。
 
OpenGL ES 2.0は、[[プログラマブルシェーダー]]に対応した初のバージョンであり、シェーディング言語「GLSL ES」に対応する。一方で固定機能シェーダーは削除されている。つまりOpenGL ES 2.0と1.x系はほぼ[[互換性]]はない。陰影計算・質感表現をプログラマブルシェーダーで記述することによってGPUによる支援が受けられるようになる。逆を言えばプログラマブルシェーダーで記述しなければGPU支援は受けられない。


[[シェーディング言語]]は時代遅れ感が満載のGLSL ES 1.0をサポートする。
[[シェーディング言語]]は時代遅れ感が満載のGLSL ES 1.0をサポートする。[[プログラマブルシェーダー]]ステージは[[バーテックスシェーダー]]([[頂点シェーダー]])と[[フラグメントシェーダー]]([[ピクセルシェーダー]])の2つをサポートする。頂点単位やピクセル単位の陰影計算・質感表現の制御が[[GPU]]により支援される。[[シェーダー]]は書き込みのみで読み出しはできないクソ仕様である。
プログラマブルシェーダーステージは[[バーテックスシェーダー]]([[頂点シェーダー]])と[[フラグメントシェーダー]]([[ピクセルシェーダー]])の2つをサポートする。頂点単位やピクセル単位の陰影計算・質感表現の制御が[[GPU]]により支援される。[[シェーダー]]は書き込みのみで読み出しはできないクソ仕様である。


なお、本家OpenGLはバージョン4.1でOpenGL ES 2.0プロファイルを扱うことができるようになっている。
なお、本家OpenGLはバージョン4.1でOpenGL ES 2.0プロファイルを扱うことができるようになっている。
77行目: 75行目:


{{stub}}
{{stub}}
<references />