次の方法で共有


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 構造です。 ドライバーは、その構造体の 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 フラグの一部はドライバー レベルでは古くなっていますが、アプリケーションが正しく動作するためには、ドライバーで適切に設定する必要があります。

要件

要件
Header d3dhal.h (D3dhal.h を含む)

こちらもご覧ください

D3DHAL_GLOBALDRIVERDATA

D3DLIGHTINGCAPS

D3DPRIMCAPS

D3dDrawPrimitives2

DD_HALINFO

DdGetDriverInfo**

DrvGetDirectDrawInfo