コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
最近の更新
未作成ページ
おまかせ表示
ヘルプ
MonoBook
検索
検索
ログイン
個人用ツール
ログイン
ログアウトした編集者のページ
もっと詳しく
投稿記録
トーク
「
OpenGL ES
」を編集中
ページ
議論
日本語
閲覧
編集
ソースを編集
履歴表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
編集
ソースを編集
履歴表示
全般
リンク元
関連ページの更新状況
特別ページ
ページ情報
2018年8月12日 (日) 00:28時点における
imported>Administrator
による版
(
→OpenGL ES 2.0
)
(
差分
)
← 古い版
|
最新版
(
差分
) |
新しい版 →
(
差分
)
警告: このページの古い版を編集しています。
公開すると、この版以降になされた変更がすべて失われます。
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
スパム攻撃防止用のチェックです。 けっして、ここには、値の入力は
しない
でください!
'''OpenGL ES'''(語源:OpenGL for Embedded Systems)とは、主に[[携帯電話]]などの[[組み込みシステム]]で使用されている[[コンピューターグラフィックス]]用の[[API]]である。 == 概要 == OpenGL ESは大雑把にいえば無印[[OpenGL]]から機能を削ったものである。 OpenGL ESはオープン仕様かつロイヤリティフリーである。 == 互換性 == OpenGL ESは無印OpenGL同様に「拡張」が許されているため互換性は絶望的な状況にある。無印OpenGLのように[[NVIDIA]]と[[AMD]]と[[Intel]]の実質三社しか存在しない環境とは異なり、OpenGL ES製品は新興国の新興メーカーも次々と新製品を出しては消えており、その全てが挙動が違うという冗談顔だけにしてほしい状況となっている。 このため[[Android]]向けの[[ゲーム]]などの[[アプ]]リでは、世界で一番売れている[[サムスン電子]]のGalaxyシリーズが搭載する[[Snapdragonシリーズ]]に内蔵される[[GPU]]である[[Adrenoシリーズ]]しかサポートしないという製品も多い。[[Antutu]]や[[Passmark]]などの[[ベンチマーク]]でSnapdragonシリーズを超える数値を叩き出した[[SoC]]は過去に幾度となく存在したが、OpenGL ESがクソ仕様なせいで実際には[[ゲーム]]で遊べないという苦情が多発し、性能を抜きにしてSnapdragonシリーズを採用するという風潮が醸し出され、最終的に[[Snapdragon 810]]の爆死に繋がった。 == バージョン == OpenGL ES 1.0 OpenGL ES 1.x系には1.0と1.1の2つが存在する。1.x系は処理が固定された[[シェーダー]](固定機能シェーダー)のみに対応しており、プログラム可能なシェーディング機能([[プログラマブルシェーダー]])には対応していない。このため、[フラットシェーディング]]あるいは[[グーローシェーディング]]といったカスタマイズ不可能な頂点単位の[[シェーディング]](陰影計算)や質感表現のみがサポートされている。 OpenGL ES 1.0はOpenGL 1.3のサブセットとして2003年に登場した。[[Symbian OS]] と [[Android]] プラットフォームの公式3DグラフィックスAPIとして採用されている。また、[[ソニー・コンピュータエンタテインメント]]によるOpenGL ES 1.0の拡張版「PSGL」が[[プレイステーション3]]の公式グラフィックスAPIの1つとしてサポートされている<ref>[http://game.watch.impress.co.jp/docs/20060329/3dps3.htm 西川善司の3DゲームファンのためのPS3アーキテクチャ講座]</ref>。 === OpenGL ES 1.1 === OpenGL ES 1.1はOpenGL 1.5のサブセットとして2004年8月9日に発表された。[[Android]] 1.6、[[iPhone]]、[[iPod touch]]、[[iPad]]等で広くサポートされている。1.0世代の[[ハードウェア]]でも[[デバイスドライバー]]のアップデートで1.1に対応可能とされる。 以下の機能がOpenGL ES 1.0に追加になっている。 * バッファオブジェクト * 自動ミップマップ生成 * 拡張テクスチャ処理 * 頂点スキニング機能 * ユーザー定義クリッププレーン * 拡張ポイントスプライト、ポイントスプライト配列 * 静的・動的状態クエリー * テクスチャ描画 * 新しいコア追加、プロファイル拡張 === OpenGL ES 2.0 === 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である。現実問題として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プロファイルを扱うことができるようになっている。 === OpenGL ES 3.0 === OpenGL ES 3.0は2012年に発表された。2.0との[[後方互換性]]がある。 [[DirectX]] 10 ([[Direct3D]] 10) やOpenGL 3.2の[[ジオメトリシェーダー]]はサポートされないが、マルチレンダーターゲット機能や[[マルチサンプルアンチエイリアス]]([[MSAA]])を標準サポートするようになり、また[[Uniform Block]]や[[Transform Feedback]]などの[[DirectX 10]]世代([[統合型シェーダーアーキテクチャ]]世代)の機能を多数サポートする。なおサポートするだけで実際に使い物になるかは別問題である。 [[シェーディング言語]]はこれ考えた奴は実際に使うこと想定しているのか疑問なGLSL ES 3.0をサポートする。 なお、本家OpenGLはバージョン4.3でOpenGL ES 3.0プロファイルを扱うことができるようになっている。 === OpenGL ES 3.1 === OpenGL ES 3.1は2014年3月17日に発表された。 [[ジオメトリシェーダー]]および[[DirectX 11]] ([[Direct3D 11]]) や[[OpenGL 4.0]]の[[テッセレーションシェーダー]]はサポートされないが、本家OpenGL 4.3で採用された[[コンピュートシェーダー]]などを導入している<ref>[http://www.4gamer.net/games/107/G010729/20140318012/ Khronos,「OpenGL ES 3.1」を発表。OpenGL 4.xとの親和性を高める改良を施す - 4Gamer.net]</ref>。3.0世代のハードウェアでもドライバーレベルのアップデートで3.1に対応可能とされる<ref>[https://www.khronos.org/assets/uploads/developers/library/2014-gdc/Khronos-OpenGL-ES-GDC-Mar14.pdf What’s New in OpenGL ES]</ref>。 [[シェーディング言語]]はこれでコンピュートシェーダーを使えとか正気の沙汰とは思えないGLSL ES 3.1をサポートする。 なお、本家OpenGLはバージョン4.5でOpenGL ES 3.1プロファイルを扱うことができるようになっている。 === OpenGL ES 3.2 === OpenGL ES 3.2は2015年8月10日に発表された。 [[Google Android Extension Pack]] ([[AEP]]) にて拡張として定義されていた機能<ref>[http://www.4gamer.net/games/107/G010729/20140827118/ スマホでPS4世代のグラフィックスを実現? OpenGL ES 3.1の拡張機能「Google AEP」や次世代OpenGLの話をKhronos Group代表に聞いてみた - 4Gamer.net]</ref>、すなわち[[ジオメトリシェーダー]]および[[テッセレーションシェーダー]]、そしてテ[[クスチャ圧縮]]技術である[[Adaptive Scalable Texture Compression]] ([[ASTC]])のサポートが標準化されたほか、本家OpenGL 4シリーズ同等の機能が多数追加される<ref>[https://www.khronos.org/news/press/khronos-expands-scope-of-3d-open-standard-ecosystem Khronos Expands Scope of 3D Open Standard Ecosystem - Khronos Group Press Release]</ref>。 シェーディング言語はGLSL ES 3.2をサポートする。 == 関連項目 == * [[OpenGL]] == 参考文献 == {{reflist}} {{stub}} <references />
編集内容の要約:
MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MonoBook:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の確認用の質問に回答してください (
詳細
):
1たす1は?(全角で入力してください)
キャンセル
編集の仕方
(新しいウィンドウで開きます)
このページで使用されているテンプレート:
テンプレート:Reflist
(
編集
)
本文の横幅制限を有効化/無効化