OpenGLとは、「Open Graphics Library」の略で、グラフィックスのためのライブラリである。当初は、米Silicon Graphics(当時)が開発していたが、現在ではKhronos GroupOpenGLサイトを管理している。

 OpenGLは、グラフィックスハードウエアと連携した2Dグラフィックスと3DグラフィックスのAPIが用意されている。現在では携帯電話やスマートフォンにも搭載されているが、OpenGL ESは、組み込み機器などのためのOpenGLのサブセット版である。

 NTTドコモの携帯電話にも初期の一部のFOMA機種から搭載されはじめ、iアプリではDoJa5.0からOpenGL ES1.0のAPIが提供され始めた。その後DoJa5.1でOpenGL ES1.1に対応し、現在ではiアプリのOpenGL機能は数多くの携帯電話で対応している。ただし、すべての携帯電話に搭載されているわけではないので、今でもトラステッドiアプリのオプションAPI扱いである。ドコモマーケット向けiアプリでも同様にオプションAPI扱いである。

  iアプリでは、OpenGL対応のために多く分けて2つのパッケージが提供されている

  • com.docomostar.ui.ogl: OpenGL ESに準拠した機能
  • com.docomostar.ui.ogl.math:OpenGL ESの数値演算のための機能

 なお、OpenGLそのものの詳しい解説は本連載では行わない。別途ネット記事や書籍を参照していただきたい。

ドコモマーケット向けiアプリのOpenGL ES機能の概要

 ドコモマーケット向けiアプリで扱うことのできるOpenGL ESは、Common Profileと呼ばれる携帯電話、PDAやゲーム機向けのProfileに対応している。ただし、iアプリではCommon Profileの固定小数点演算には対応していない。OpenGL ESで扱える主な機能は以下の通りである。

  • 2Dグラフィックス描画
  • 3Dグラフィックス描画
  • 拡張機能の一部(キューブマップテクスチャ関連機能)

 通常のiアプリのグラフィックスとOpenGLによるグラフィックスは、描画時は明示的に分ける必要がある。