Windows Mobile DirectX および Direct3D
更新 : 2007 年 11 月
.NET Compact Framework には、デバイスのマネージ DirectX アプリケーションとマネージ Direct3D アプリケーションを開発するために、次の 2 つの名前空間が用意されています。
どちらの名前空間も、Microsoft.WindowsMobile.DirextX.dll 内の Microsoft.WindowsMobile.DirectX アセンブリにあります。
メモ : |
---|
マネージ Direct3D モバイル アプリケーションでは、Windows Mobile Version 5.0 Software for Pocket PC と Windows Mobile Version 5.0 Software for Smartphone が必要です。Windows Mobile ソフトウェアおよび SDK については、「.NET Compact Framework の外部資料」を参照してください。 |
これらの名前空間の大部分は、パーソナル コンピュータ (デスクトップ) アプリケーションを対象とした DirectX 9 マネージ クラスのサブセットです。ただし、モバイル機能については、DirectX 8 での機能に類似しています。違いは、ピクセル シェーダおよび頂点シェーダのサポートがないことです。これは、モバイルデバイスには、現在この機能が用意されていないためです。
.NET Compact Framework では、IndexBuffer で Lock メソッドを使用するか、VertexBuffer で Lock メソッドを使用する複数のロック呼び出しはサポートされません。
開発者は、デスクトップのマネージ Direct3D 開発に関する知識が必要です。DirectX 9 SDK ドキュメントは、モバイル開発について記述されています。マネージ DirectX 9 (デスクトップ) ドキュメントについては、MSDN ライブラリの『DirectX 9.0 の紹介』を参照してください。
Microsoft DirectX Developer Center から DirectX SDK August 2006 (DirectX 9.0 SDK) をダウンロードします。
固有のクラス
ARM プロセッサなどの一部デバイスには浮動小数点機能が組み込まれていないため、パフォーマンス特性が大きく異なります。.NET Compact Framework には、固定小数点形式のクラスが用意されていて、大量の浮動小数点演算を回避できる場合に、パフォーマンスを向上させることができます。
.NET Compact Framework には、モバイルアプリケーションに固有の次のクラスおよび構造体が用意されています。
ColorValueFixed 構造体
FixedPoint 構造体
LightFixed クラス
MaterialFixed 構造体
MatrixFixed 構造体
SurfaceCaps 構造体
Vector3Fixed 構造体
メモリの考慮事項
モバイル開発では、利用できる処理能力と RAM が非常に低いことに留意し、それに応じたリソースの使用法を計画する必要があります。コンテンツのファイルおよび読み込まれたリソースは、ハード ドライブや専用ビデオ メモリではなく、RAM に格納されます。つまり、同程度のコンテンツ量でも、モバイル デバイスの場合は、デスクトップの場合よりも RAM を占有する量が非常に多くなります。
デバイスのリセット時に再作成するオブジェクトについては、「デバイス リソースの管理」を参照してください。
サンプル
Windows Mobile Direct3D のデモを次のサンプルで示します。
-
15 個のサンプルとチュートリアルが含まれています。
Direct3D モバイルの UltimateGMan ゲームのサンプル
マネージ モバイル Direct3D の能力を示すゲームです。