次の方法で共有


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 構造体です。 ドライバーは、dwCapsdwLightingModel、およびその構造体の 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 を含む)

関連項目

D3DHAL_GLOBALDRIVERDATA

D3DLIGHTINGCAPS

D3DPRIMCAPS

D3dDrawPrimitives2

DD_HALINFO

DdGetDriverInfo**

DrvGetDirectDrawInfo