SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine(コードジン) DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

Direct3D Mobileによる3DCGプログラミング

Windows Mobile 5.0で動作する3Dアプリケーションの開発


準備

 Windows CEのアプリケーションをC++で開発するためには、従来までeMbedded Visual C++と言うソフトウェアが使われていました。Visual Studio 2005ではStandard EditionからWindows CEやWindows Mobileのアプリケーションを開発できるようになりました。Visual Studio 2005付属のWindows MoibleのSDKは一つ前の2003のものなので、開発の準備としてSDKを入れるところからスタートします。

 これがインストールされればVisual Studio 2005上で新しいプロジェクトを作成する際に、スマートデバイスプロジェクトでプラットホームとして「Windows Mobile 5.0 for PocketPC」(以下、場合によって「PocketPC」と表記)を選択できるようになります。

 SDKにはDirect3D Mobileのサンプルも5つほど収録されており、基本的なことを学ぶことができます(コメントは英語)。サンプルについては、MSDNに記載があります(英語)。

 さらに、もう1つインストールしておくべきものがあります。それは、エミュレータの日本語版のOSイメージです。PocketPCは、基本的にPCと異なるアーキテクチャのCPUが搭載されているので、そのままではプログラムが動きません。そこで、PCでエミュレーションしてプログラムを動かし、あらかじめデバッグするようにします(これにより実機がなくてもテストができますが、当然実行速度は実機に比べると大きく差があります)。上記のSDKを入れた段階で、エミュレータもインストールされるのですが、英語版のため日本語フォントがなく、日本語の表示ができません。そこで、「Localized Windows Mobile 5.0 Pocket PC Emulator Images」から「Windows Mobile 5.0 Emulator Images for Pocket PC - JPN.msi」をダウンロードして、日本語版のOSのイメージを取得します。セットアップはインストーラを実行するだけで終わります。

 最後に、これは既にPocketPCとの同期ができる開発環境にある人はインストールしなくてよいのですが、実機を持っていない方などは、「Windows Mobile Deviceのダウンロードページ」からActiveSync(バージョン4.0以降)というソフトウェアをダウンロードし、インストールする必要があります。

 ActiveSyncは、PCとPocketPCの間の接続を行うソフトウェアで、スケジュールや電話帳の同期や、PCとPocketPC間の接続を通したアプリケーションのインストールなどを行います。実機と接続しない場合でも、Visual Studio 2005でビルドしたファイルを実行するために、エミュレータへ転送する際に使ったりするのでインストールしておく必要があります。余談ですが、ActiveSyncは、タスクバーに常駐するのですが、実機と接続しないPCでの開発時には常駐を解除してしまっても問題ありません。

開発のスタート

プロジェクトの選択

 PocketPCのアプリケーションを開発するには、Visual Studio 2005の[プロジェクトの種類]で、[Visual C++]から[スマートデバイス]を選択します(他の言語の場合でも同じく[スマートデバイス]があります)。

プロジェクトの選択
プロジェクトの選択

 その後に出てくるダイアログでは、[プラットホーム]を選択します。ここでは、完成したプログラムを実行するOSのバージョンを決めます。Direct3D Mobileは、Windows Mobile 5.0から加わったAPIなので下の画像のように[Windows Mobile 5.0 PocketPC SDK]のみを選択します。

プラットホームの選択
プラットホームの選択

 あとは、必要に応じてアプリケーションの設定を行います。アプリケーションの種類は、デフォルトのまま[Windowsアプリケーション]を選択します。

アプリケーションの設定
アプリケーションの設定

 [空のプロジェクト]のチェックボックスにチェックをつけなければ、このあとに単純なウィンドウを表示するだけのコードが生成されます。

自動生成されたコードのエミュレータ上での実行結果
自動生成されたコードのエミュレータ上での実行結果

エミュレータの設定

 プロジェクトが作れたら、次はエミュレータの設定をします。エミュレータは、デフォルトではQVGAサイズ(解像度が240x320)の英語版OSを起動するので、ここではそれを日本語版に変更する方法を説明します。

 Visual Studio上でエミュレータに関するツールバーは、メニューバーの[表示]メニューの[ツール バー]-[デバイス]で出し入れすることができます。

デバイスツールバー
デバイスツールバー
  1. OSの選択
  2. デバイスへの接続、デバイスオプション
  3. 画面の回転

 OSの選択ですが、[JPN Windows Mobile 5.0~]というのが日本語版のOSになります。それ以外は英語版です。"Phone"と付くのは、電話機能があります。"VGA"と付くのは、解像度が480x640で、付かないのは320x240です。"Square"は縦横比が1:1の解像度のものになります(無印が、240x240でVGAが480x480)。

 [Windows Mobile 5.0 PocetPC Device]というのが表示される場合があるのですが、これはActiveSyncで接続しているデバイス上での実行を意味します。これを選択すると接続中の実機でデバッグができます。実機では、エミュレータ上では検出されないハードウェア固有のバグが発生することがありえますので、エミュレータの結果だけを信じることはできないことがあります(Direct3D Mobileではハードウェアごとに使える機能に大きく差が出ます)。

 デバイスの接続アイコンを押すとエミュレータが起動します。デバイスオプションは既定のデバイスなどの設定や、OSごとの細かな設定などができます。

次のページ
プログラムの解説

この記事は参考になりましたか?

特集記事連載記事一覧

もっと読む

この記事の著者

高橋 誠史(タカハシ マサフミ)

僻地の大学院生です。GPUプログラミングとそのニュースを集めたサイトShader.jpを開いています。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/316 2006/03/08 16:14

おすすめ

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー