D3DDEVICEDESC_V1構造体 (d3dhal.h)
D3DDeviceDesc_V1 は DirectX 8.0 以降のバージョンでは使用されなくなりました。「解説」を参照してください。 この構造では、デバイスの 3D 機能について説明します。
構文
typedef struct _D3DDeviceDesc_V1 {
DWORD dwSize;
DWORD dwFlags;
D3DCOLORMODEL dcmColorModel;
DWORD dwDevCaps;
D3DTRANSFORMCAPS dtcTransformCaps;
BOOL bClipping;
D3DLIGHTINGCAPS dlcLightingCaps;
D3DPRIMCAPS dpcLineCaps;
D3DPRIMCAPS dpcTriCaps;
DWORD dwDeviceRenderBitDepth;
DWORD dwDeviceZBufferBitDepth;
DWORD dwMaxBufferSize;
DWORD dwMaxVertexCount;
} D3DDEVICEDESC_V1, *LPD3DDEVICEDESC_V1;
メンバーズ
dwSize
このD3DDEVICEDESC_V1構造体のサイズをバイト単位で指定します。
dwFlags
有効なデータを含むこの構造体のメンバーを識別します。 このメンバーには、次のいずれかの値のビットごとの OR を指定できます。
値の | 意味 |
---|---|
D3DDD_BCLIPPING | bClipping メンバーには有効なデータが含まれています。 |
D3DDD_COLORMODEL | dcmColorModel メンバーに有効なデータが含まれています。 |
D3DDD_DEVCAPS | dwDevCaps メンバーに有効なデータが含まれています。 |
D3DDD_DEVICERENDERBITDEPTH | dwDeviceRenderBitDepthmember に有効なデータが含まれています。 |
D3DDD_DEVICEZBUFFERBITDEPTH | dwDeviceZBufferBitDepthmember に有効なデータが含まれています。 |
D3DDD_LIGHTINGCAPS | dlcLightingCaps メンバーに有効なデータが含まれています。 |
D3DDD_LINECAPS | dpcLineCaps メンバーには有効なデータが含まれています。 |
D3DDD_MAXBUFFERSIZE | dwMaxBufferSize メンバーに有効なデータが含まれています。 |
D3DDD_MAXVERTEXCOUNT | dwMaxVertexCount メンバーに有効なデータが含まれています。 |
D3DDD_TRANSFORMCAPS | dtcTransformCaps メンバーに有効なデータが含まれています。 |
D3DDD_TRICAPS | dpcTriCaps メンバーに有効なデータが含まれています。 |
dcmColorModel
デバイスのカラー モデルを指定します。
dwDevCaps
デバイスの機能を識別します。 このメンバーには、次のいずれかの値のビットごとの OR を指定できます。
値の | 意味 |
---|---|
D3DDEVCAPS_CANBLTSYSTONONLOCAL | デバイスは、システム メモリからサブローカル ビデオ メモリへの TexBlt をサポートします。 |
D3DDEVCAPS_CANRENDERAFTERFLIP | デバイスは、ページ フリップ後にレンダリング コマンドをキューに登録できます。 デバイスは Windows 2000 以降でこの機能をサポートする必要があります。つまり、ドライバーは常にこのフラグを設定します。 |
D3DDEVCAPS_DRAWPRIMITIVES2 | デバイスは D3dDrawPrimitives2サポートできます。 |
D3DDEVCAPS_DRAWPRIMITIVES2EX | デバイスは拡張 D3dDrawPrimitives2 をサポートできます。つまり、DX7 に準拠したドライバーです。 |
D3DDEVCAPS_DRAWPRIMTLVERTEX | デバイスは TLVERTEX プリミティブを描画できます。 このフラグは廃止されていますが、ドライバーで設定する必要があります。 |
D3DDEVCAPS_EXECUTESYSTEMMEMORY | デバイスは、システム メモリから実行バッファーを使用できます。 ドライバーは常にこのビットを設定する必要があります。 |
D3DDEVCAPS_EXECUTEVIDEOMEMORY | デバイスは、ディスプレイ メモリから実行バッファーを使用できます。 ドライバーでは、このビットを設定しないでください。 |
D3DDEVCAPS_FLOATTLVERTEX | デバイスは、ポストトランスフォーム頂点データの浮動小数点を受け入れます。 このフラグは廃止されていますが、ドライバーで設定する必要があります。 |
D3DDEVCAPS_HWRASTERIZATION | デバイスには、ラスタライズ用のハードウェア アクセラレーションがあります。 |
D3DDEVCAPS_HWTRANSFORMANDLIGHT | デバイスは、ハードウェアでの変換と照明をサポートできます。 D3DDEVCAPS_DRAWPRIMITIVES2EXも設定する必要があります。 |
D3DDEVCAPS_SEPARATETEXTUREMEMORIES | デバイスが個別のメモリ プールからテクスチャリングされています。 この機能ビットを設定すると、DirectX 8.0 以降のバージョンのアプリケーションに対して、複数のテクスチャを同時に使用することができなくなります。 |
D3DDEVCAPS_SORTDECREASINGZ | デバイスには、深度を下げるためのデータの並べ替えが必要です。 |
D3DDEVCAPS_SORTEXACT | デバイスには、正確に並べ替えられたデータが必要です。 |
D3DDEVCAPS_SORTINCREASINGZ | デバイスには、深度を増やするためにデータを並べ替える必要があります。 |
D3DDEVCAPS_TEXTURENONLOCALVIDEOMEMORY | デバイスは、非ローカル ビデオ メモリからテクスチャを作成できます。 |
D3DDEVCAPS_TLVERTEXSYSTEMMEMORY | デバイスは、変換された頂点と点灯した頂点にシステム メモリのバッファーを使用できます。 このフラグは廃止されていますが、ドライバーで設定する必要があります。 |
D3DDEVCAPS_TLVERTEXVIDEOMEMORY | デバイスは、変換された頂点と点灯した頂点に対して、ディスプレイ メモリのバッファーを使用できます。 このフラグは廃止されており、ドライバーで設定することはできません。 |
D3DDEVCAPS_TEXTURESYSTEMMEMORY | デバイスは、システム メモリからテクスチャを取得できます。 |
D3DDEVCAPS_TEXTUREVIDEOMEMORY | デバイスは、デバイス メモリからテクスチャを取得できます。 |
dtcTransformCaps
デバイスの変換機能を指定するD3DTRANSFORMCAPS構造体を指定します。 ドライバーは、その構造体の dwCaps メンバーを 0 に設定する必要があります。
bClipping
デバイスが 3D クリッピングを実行できる場合は、ドライバーによって TRUE に設定されます。
dlcLightingCaps
デバイスの照明機能を指定します。 これは D3DLIGHTINGCAPS 構造体です。 ドライバーは、dwCaps、dwLightingModel、およびその構造体の dwNumLights メンバーを 0 に する必要があります。
dpcLineCaps
線プリミティブのデバイスの描画機能を定義する D3DPRIMCAPS 構造体を指定します。
dpcTriCaps
三角形プリミティブのデバイスの描画機能を定義する D3DPRIMCAPS 構造体を指定します。
dwDeviceRenderBitDepth
デバイスのレンダリング ビット深度を指定します。 このメンバーは、次の DirectDraw ビット深度定数 (DDBD_8、DDBD_16、DDBD_24、またはDDBD_32) のビットごとの OR にすることができます。
dwDeviceZBufferBitDepth
デバイスの z バッファーのビット深度を指定します。 このメンバーは、次の DirectDraw ビット深度定数 (DDBD_8、DDBD_16、DDBD_24、またはDDBD_32) のビットごとの OR にすることができます。
dwMaxBufferSize
0 に設定する必要があります。
dwMaxVertexCount
DirectX 7 以降のバージョン
DirectX 6
備考
この構造体は、DirectX 8.0 以降のランタイムのD3DCAPS8 (DirectX 8.0 SDK ドキュメントを参照) に置き換えられましたが、レガシ ランタイム (DirectX 7.0 以前) の互換性のために必要です。 詳細については、「Reporting DirectX 8.0 Style Direct3D Capabilities」を参照してください。
ドライバーの DrvGetDirectDrawInfo 関数は、DD_HALINFO 構造体の lpD3DGlobalDriverData メンバーが指す D3DHAL_GLOBALDRIVERDATA 構造体でこの情報を返します。
Direct3D ランタイムは、D3DDEVICEDESC_V1構造体で返される情報と、ドライバーの DdGetDriverInfo 関数を通じて照会される拡張機能から、アプリケーション レベルのD3DDEVICEDESC7構造 (Microsoft Windows SDK ドキュメントに記載) を構築します。 dwDevCaps フラグの一部はドライバー レベルでは廃止されていますが、アプリケーションが正常に動作するためには、ドライバーで適切に設定する必要があります。
必要条件
要件 | 価値 |
---|---|
ヘッダー | d3dhal.h (D3dhal.h を含む) |
関連項目
D3dDrawPrimitives2の