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 を指定できます。
Value | 意味 |
---|---|
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 を指定できます。
Value | 意味 |
---|---|
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 フラグの一部はドライバー レベルでは古くなっていますが、アプリケーションが正しく動作するためには、ドライバーで適切に設定する必要があります。
要件
要件 | 値 |
---|---|
Header | d3dhal.h (D3dhal.h を含む) |