Windows CE の OpenGL ES について


■ はじめに

組み込み機器向けのOSである Windows CE の OpenGL ES について紹介します。

Windows CE では、OpenGL ES を標準ではサポートしていません。 ハードウェアが OpenGL ES に対応しており、ドライバが用意されている環境でのみ使用できます。
また、OpenGL ES をサポートしているとしても、 OpenGL ES 1.0, 1.1 なのか OpenGL ES 2.0 なのかは環境次第になります。

  • Windows Embedded Compact 7
  • Windows Embedded CE 6.0
  • Windows CE 5.0
    • Windows Mobile 6.5(CE5.2)
    • Windows Mobile 6.1(CE5.2)
    • Windows Mobile 6.0(CE5.2)
    • Windows Mobile 5.0(CE5.1)
  • Windows CE 4.0
    • Windows Mobile 2003 SE(CE4.21)
    • Windows Mobile 2003(CE4.2)
    • Pocket PC 2002(CE4.0)
  • Windows CE 3.0
    • Pocket PC


■ Windows Embedded CE 6.0

□ 概要

Windows Embedded CE 6.0 R3 から、 EGL, OpenGL ES 1.1/2.0, OpenVG 1.1 のヘッダと、 EGL, OpenGL ES 2.0 のダミーライブラリが追加されました。

あくまでも雛形として用意されているだけで、中身は空のライブラリです。

□ OS/ドライバ開発環境

OS/ドライバの開発を行うには、基本的には実機と VisualStudio 2005 と Platform Builder 6.0 と BSP が必要です。

(ソフトウェア実装の OpenGL ES ライブラリを使わない限り)ハードウェアが OpenGL ES をサポートしている必要があります。
ハードウェアが OpenGL ES 2.0, 1.1, 1.0 のどのバージョンをサポートしているかを確認しておきましょう。

ハードウェアが OpenGL ES をサポートしており、BSP で OpenGL ES ドライバが用意されていれば、OpenGL ES を使うことができます。 (ハードウェアが OpenGL ES をサポートしていても、BSP で OpenGL ES のドライバが用意されていないこともあります。 他の OS しかサポートしていない場合がありますので、ご注意ください。)
もちろん、OpenGL ES のドライバを開発する場合は除きます。

BSP に OpenGL ES 2.0 用のドライバ、OpenGL ES 1.1 用のドライバが用意されているかどうかを確認しましょう。 OpenGL ES 2.0 をサポートハードウェアの場合、OpenGL ES 2.0 用と OpenGL ES 1.1 用の両方のドライバが用意されていることが多いですが、 OpenGL ES 2.0 用のドライバしかないこともありえます。 また、OpenGL ES 1.1 をサポートするハードウェアの場合は、OpenGL ES 2.0 用のドライバはなく、OpenGL ES 2.0 を使うことはできません。

PC で動くエミュレータもありますが、エミュレータは OpenGL ES をサポートしていません。 エミュレータで OpenGL ES のアプリケーションを開発する場合は、何らかの OpenGL ES ソフトウェアライブラリを用意する必要があります。

  • Windows Embedded CE 6.0 をサポートする実機/評価ボード等
    OpenGL ES に対応していること。

  • Microsoft Visual Studio 2005
    Express を除きます。90 日評価版もあります。

  • Microsoft Visual Studio 2005 SP1

  • Microsoft Visual Studio 2005 Service Pack 1 Update for Windows Vista
    (Windows Vista 以降)

  • Windows Embedded CE 6.0
    Platform Builder 6.0 です。Windows Embedded CE 6.0 180 日間評価版もあります。

  • Windows Embedded CE 6.0 Platform Builder Service Pack 1

  • Windows Embedded CE 6.0 R2

  • Windows Embedded CE 6.0 R3

  • QFE

  • BPS
    実機には、ボードにあった BPS が必要です。 OpenGL ES ドライバが用意されていること。


□ アプリケーション開発環境

  • Windows Mobile 6.0 のアプリケーション開発環境
  • 実機/評価ボード用の SDK

□ プロセッサ

  • Freescale i.MX51
    OpenGL ES 2.0


  • Freescale i.MX35
    OpenGL ES 2.0


  • Freescale i.MX31
    OpenGL ES 1.1


  • Texas Instruments OMAP3515/3530
    PowerVR SGX 530, OpenGL ES 2.0


  • Texas Instruments OMAP3420/3430/3440
    PowerVR SGX 530, OpenGL ES 2.0


  • Texas Instruments OMAP2420/2430
    PowerVR MBX, OpenGL ES 1.1


※ OpenGL ES の対応はハードウェアの対応のみを示しています。 Windows Embedded CE 6.0 で OpenGL ES をサポートしているかどうかは各自でお調べください。

■ Windows Mobile 6.0

□ 概要

実機が OpenGL ES をサポートしている必要があります。 ハードウェアが OpenGL ES をサポートしており、OpenGL ES 用のドライバが必要です。

OpenGL ES ライブラリ名(DLL 名)は、様々ですのでご注意ください。

PC で動くエミュレータもありますが、エミュレータは OpenGL ES をサポートしていません。 エミュレータで OpenGL ES のアプリケーションを開発する場合は、何らかの OpenGL ES ソフトウェアライブラリを用意する必要があります。

□ アプリケーション開発環境

通常の Windows Mobile 6.0 の開発環境を構築します。

  • Microsoft Visual Studio 2005 Standard 以上、または Microsoft Visual Studio 2008 Professional 以上


  • Microsoft Visual Studio サービスパック
    • Visual Studio 2005 の場合は Visual Studio 2005 SP1
    • Visual Studio 2008 の場合は Visual Studio 2008 SP1

  • Visual Studio 2005 Service Pack 1 Update for Windows Vista Windows Vista 以降で Visual Studio 2005 を使う場合


  • Microsoft .NET Compact Framework v2 SP2


  • Windows Mobile 6 SDK Refresh
    • Pocket PC の場合は Windows Mobile 6 Professional SDK
    • Smartphone の場合は Windows Mobile 6 Standard SDK
    • 両方インストールすることも可能。

  • Localized Emulator image (JPN)
    • Windows Mobile 6 Professional SDK の場合は Windows Mobile 6 Professional Localized Emulator image (JPN)
    • Windows Mobile 6 Standard SDK の場合は Windows Mobile 6 Standard Localized Emulator image (JPN)

  • Virtual PC 2007


  • ActiveSync 4.5 または Microsoft Windows Mobile Device Center
    • Windows XP までは ActiveSync 4.5
    • Windows Vista の場合は Microsoft Windows Mobile Device Center


OpenGL ES の開発環境
  • OpenGL ES SDK
    標準のものはありません。SDK が用意されている環境ではそれを使います。

  • SDK がない場合は、
    • ヘッダファイルは Khronos の Web サイトからダウンロードします。
    • DLL は実機のものを使います。実機に OpenGL ES の DLL がない場合はサポートしていません。
    • DLL から DEF ファイルを pexports で作成します。
      pexports libGLES_CM.dll > libGLES_CM.def
    • DEF ファイルを lib で インポートライブラリ(LIB ファイル)を作成します。
      LIB /DEF:libGLES_CM.def /MACHINE:ARM /out:libGLES_CM.lib


■ ソフトウェア実装

Windows CE 向けの OpenGL ES ライブラリのソフトウェア実装があります。
エミュレータ上で動かすことも可能です。


[3D TOPメニュー]
[OpenGL] [irisGL] [VRML] [作品集] [イエローページ] [書籍紹介]
[この Web ページについて] [アンケート] [予定]