PocketPC WindowsCE 3D IM-Clock PocketPC v1.04 3D のポリゴン描画で表現するアナログ時計です。ひたすら落ち着かないで動き回り ます。Zaurus 上で開発した GA 3D Engine を PocketPC へ移植したので、そのテス トとして作成してみました。 v1.01 の変更点: フォーカス移行時の描画処理を改良、メモリカードなど日本語 フォルダ名上で動作しないバグ修正 v1.02 の変更点: 配布を一般的な CAB 形式にした v1.03 の変更点: MIPS 版作成 (CASSIOPEIA E700) v1.04 の変更点: GENIOe550 対応 ●対応機種 WindowsCE 3.0 PocketPC ARM, MIPS 動作確認機種 StrongARM iPAQ 3630, StrongARM GENIO e550, MIPS CASSIOPEIA E700 ●インストール方法 CPU にあわせて imclock.ARM.CAB または imclock.MIPS.CAB を PocketPC の任意の ディレクトリに転送し、Explorer 上から実行してください。インストールが始まり ます。 StrongARM imclock.ARM.CAB ( iPAQ / GENIOe550 ) MIPS imclock.MIPS.CAB ( E700 / E750 / G-FORT ) ●アンインストール(プログラムの削除)方法 設定画面の「アプリケーションの削除」から IM-Clock を削除してください。 ●使い方 スタートメニューのプログラムにある IM-Clock を実行してください。アニメーショ ンするアナログ時計が表示されます。 プログラムを終了するには PocketPC 本体のボタンを押してください。iPAQ や GENIO の場合は、4つある表面ボタンのうち右側 2つ、E700 では 3つあるボタンの どれを押しても終了します。 ●注意 このソフトはひたすら動き続けるので、バッテリー消耗にはご注意ください。 ●テクスチャ画像の変更方法 以下のファイルを置き換えることで、背景などの画像を入れ替えることができます。 画像を入れ替えることで、たとえば球に顔の写真を貼ったり、背景にカレンダーの 絵を貼り付けたりすることができます。 yama01.zit 背景画像 256x256dot hana01.zit 球のテクスチャ画像 128x128dot 画像は zit 形式で、ピクセルフォーマットは RGB565 です。zit 画像を作成するに は czit というコンバータが必要です。czit はこちらのページから入手することが できます。(PC 用コマンドラインツール、Windows が必要) http://hyp.pos.to/ まず 24bit フルカラーの bmp で、256x256dot の画像を作成します。ファイル名は 仮に backimage.bmp とします。PC のコマンドライン上から次のように実行すると、 czit -q565 backimage.bmp backimage.zit が作成されます。これを yama01.zit にリネームして完成です。 同じように 24bit フルカラーの 128x128dot の画像を作成し(仮に ballimage.bmp とします)、次のように実行します。 czit -q565 ballimage.bmp これで ballimage.zit ができるので、同じように hana01.zit にリネームします。 ●プログラムについて PocketPC 機種を入手したので、3D ライブラリを作成してみました。同じ WIN32 API が使えることから、以前 Windows 上で作っていた Direct3D 用ライブラリ Zddlib をベースにし、さらにレンダリングコアとして以前開発した GA 3D Engine を使用しています。 GA 3D Engine は、1年半ほど前に SHARP の MI 系 Zaurus 用に開発した 3D のライ ブラリです。こちらは独自 OS であることと開発環境の都合上 C++ を使うことがで きなかったので、Zddlib とは別の物としてライブラリを最初から作り直しました。 PocketPC 版の Flatlib(GA 3D Engine) は、この両者をちょうど融合した形のライ ブラリになります。基本機能としては以下のものを持っており、3D Engine といっ ても極めて単純なものです。 ・ポリゴンプリミティブ描画 ・ライティング(Directional + Ambient のみ) ・フラットシェーディング/グーローシェーディング ・テクスチャマッピング(光源&グーロー可能) MI 系の Zaurus は 30MHz〜120MHz の RISC-CPU (Hitachi SH3) で動作しており、 必ずしも高速なマシンではありませんでした。その代わりハードウエア構造がシ リーズを通して統一されているため、アセンブラを使った最適化を行うことができ ました。 iPAQ の場合は、206MHz の StrongARM で動いており Zaurus に比べるとかなり高速 です。今回の 3D IM-Clock はとりあえず 3D Engine の動作最優先であり、実はほ とんど高速化やオプティマイズをかけていません。それでも IM-Clock には十分す ぎる速度で動作してくれました。 ただし iPAQ では液晶画面が 4096色表示になってしまうため、65536色ハイカラー で動作していた Zaurus よりもライティングなどの階調表現では見劣りします。 E700 を貸していただいた 石田様 に感謝します。 ●使用条件 このプログラムはフリーソフトウエアです。このプログラムはさほど使いこんでおら ず、動作上さまざまな問題が出る可能性があります。プログラムがトラブルを起こし た、本体のデータが消えた、電池がすぐなくなった、ハードが問題を起こした、色が おかしい、その他あらゆる問題に対して一切保証がなく、作者小笠原博之には責任は 何も発生しないものとさせていただきます。 ●連絡その他 このプログラムの最新版や更新情報はこちらの URL を参照してください。 http://www.vector.co.jp/authors/VA004474/wince/wince.html 1997 Windows Direct3D 版 3D IM-Clock 1999/12/29 Zaurus 版 3D IM-Clock 2001/05/26 PocketPC 版 Flatlib - GA 3D Engine 作成 2001/05/27 1.00 PocketPC 版 3D IM-Clock 2001/05/28 1.01 フォーカス移行時の描画処理を改良。メモリカードなど日本語フォ ルダ名上で動作しないバグ修正。(報告 成澤さん) 2001/05/30 1.02 インストーラ(CABファイル)を作成 2001/06/23 1.03 MIPS E700 版作成 2001/09/07 1.04 ARM GENIO e550 版作成 (実は build し直しただけ) 小笠原博之 oga@art.udn.ne.jp http://www.vector.co.jp/authors/VA004474/