「OpenGL ES」の版間の差分
imported>Administrator |
imported>Administrator |
||
| 12行目: | 12行目: | ||
== バージョン == | == バージョン == | ||
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. | OpenGL ES 2.0はOpenGL 2.0のサブセットとして2007年に公開された。OpenGL 2.0およびDirectX 9相当。 | ||
[[iPhone 3GS]]以降、[[iPod Touch]]の第3世代以降、[[iPad]]、[[Android]] 2. | |||
[[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]]により支援される。[[シェーダー]]は書き込みのみで読み出しはできないクソ仕様である。 | ||
なお、本家OpenGLはバージョン4.1でOpenGL ES 2.0プロファイルを扱うことができるようになっている。 | なお、本家OpenGLはバージョン4.1でOpenGL ES 2.0プロファイルを扱うことができるようになっている。 | ||
| 77行目: | 75行目: | ||
{{stub}} | {{stub}} | ||
<references /> | |||