D3DDEVICEDESC_V1 structure (d3dhal.h)

D3DDeviceDesc_V1 est obsolète dans DirectX 8.0 et versions ultérieures ; voir Remarques. Cette structure décrit les fonctionnalités 3D d’un appareil.

Syntaxe

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;

Membres

dwSize

Spécifie la taille en octets de cette structure D3DDEVICEDESC_V1.

dwFlags

Identifie les membres de cette structure qui contiennent des données valides. Ce membre peut être un or au niveau du bit de l’une des valeurs suivantes :

Valeur Signification
D3DDD_BCLIPPING Le membre bClipping contient des données valides.
D3DDD_COLORMODEL Le membre dcmColorModel contient des données valides.
D3DDD_DEVCAPS Le membre dwDevCaps contient des données valides.
D3DDD_DEVICERENDERBITDEPTH Le dwDeviceRenderBitDepthmember contient des données valides.
D3DDD_DEVICEZBUFFERBITDEPTH DwDeviceZBufferBitDepthmember contient des données valides.
D3DDD_LIGHTINGCAPS Le membre dlcLightingCaps contient des données valides.
D3DDD_LINECAPS Le membre dpcLineCaps contient des données valides.
D3DDD_MAXBUFFERSIZE Le membre dwMaxBufferSize contient des données valides.
D3DDD_MAXVERTEXCOUNT Le membre dwMaxVertexCount contient des données valides.
D3DDD_TRANSFORMCAPS Le membre dtcTransformCaps contient des données valides.
D3DDD_TRICAPS Le membre dpcTriCaps contient des données valides.

dcmColorModel

Spécifie le modèle de couleur de l’appareil.

dwDevCaps

Identifie les fonctionnalités de l’appareil. Ce membre peut être un or au niveau du bit de l’une des valeurs suivantes :

Valeur Signification
D3DDEVCAPS_CANBLTSYSTONONLOCAL L’appareil prend en charge un TexBlt de la mémoire système à la mémoire vidéo sous-locale.
D3DDEVCAPS_CANRENDERAFTERFLIP L’appareil peut mettre en file d’attente les commandes de rendu après un retournement de page. Les appareils doivent prendre en charge cette fonctionnalité sur Windows 2000 et versions ultérieures, ce qui signifie que le pilote définirait toujours cet indicateur.
D3DDEVCAPS_DRAWPRIMITIVES2 L’appareil peut prendre en charge D3dDrawPrimitives2 .
D3DDEVCAPS_DRAWPRIMITIVES2EX L’appareil peut prendre en charge Extended D3dDrawPrimitives2 ; c’est-à-dire un pilote conforme À DX7.
D3DDEVCAPS_DRAWPRIMTLVERTEX L’appareil peut dessiner des primitives TLVERTEX. Cet indicateur est obsolète, mais doit être défini par le pilote.
D3DDEVCAPS_EXECUTESYSTEMMEMORY L’appareil peut utiliser des mémoires tampons d’exécution à partir de la mémoire système. Le pilote doit toujours définir ce bit.
D3DDEVCAPS_EXECUTEVIDEOMEMORY L’appareil peut utiliser des mémoires tampons d’exécution à partir de la mémoire d’affichage. Le pilote ne doit jamais définir ce bit.
D3DDEVCAPS_FLOATTLVERTEX L’appareil accepte le virgule flottante pour les données de vertex posttransforme. Cet indicateur est obsolète, mais doit être défini par le pilote.
D3DDEVCAPS_HWRASTERIZATION L’appareil a une accélération matérielle pour la rastérisation.
D3DDEVCAPS_HWTRANSFORMANDLIGHT L’appareil peut prendre en charge la transformation et l’éclairage dans le matériel. D3DDEVCAPS_DRAWPRIMITIVES2EX doit également être défini.
D3DDEVCAPS_SEPARATETEXTUREMEMORIES L’appareil effectue un texturage à partir de pools de mémoires distincts. La définition de ce bit de fonctionnalité indique à DirectX 8.0 et versions ultérieures des applications qu’elles sont désactivées simultanément à l’aide de plusieurs textures.
D3DDEVCAPS_SORTDECREASINGZ L’appareil a besoin de données triées pour diminuer la profondeur.
D3DDEVCAPS_SORTEXACT L’appareil a besoin de données triées exactement.
D3DDEVCAPS_SORTINCREASINGZ L’appareil a besoin de données triées pour augmenter la profondeur.
D3DDEVCAPS_TEXTURENONLOCALVIDEOMEMORY L’appareil peut texturer à partir de la mémoire vidéo non locale.
D3DDEVCAPS_TLVERTEXSYSTEMMEMORY L’appareil peut utiliser des mémoires tampons de la mémoire système pour les sommets transformés et éclairés. Cet indicateur est obsolète, mais doit être défini par le pilote.
D3DDEVCAPS_TLVERTEXVIDEOMEMORY L’appareil peut utiliser des mémoires tampons de la mémoire d’affichage pour les sommets transformés et éclairés. Cet indicateur est obsolète et ne doit pas être défini par le pilote.
D3DDEVCAPS_TEXTURESYSTEMMEMORY L’appareil peut récupérer des textures de la mémoire système.
D3DDEVCAPS_TEXTUREVIDEOMEMORY L’appareil peut récupérer des textures de la mémoire de l’appareil.

dtcTransformCaps

Spécifie une structure D3DTRANSFORMCAPS qui spécifie les fonctionnalités de transformation de l’appareil. Le pilote doit définir le membre dwCaps de cette structure sur zéro.

bClipping

Défini sur TRUE par le pilote si le périphérique peut effectuer une capture 3D.

dlcLightingCaps

Spécifie les fonctionnalités d’éclairage de l’appareil. Il s’agit d’une structure D3DLIGHTINGCAPS . Le pilote doit définir les membres dwCaps, dwLightingModel et dwNumLights de cette structure sur zéro.

dpcLineCaps

Spécifie une structure D3DPRIMCAPS qui définit les fonctionnalités de dessin de l’appareil pour les primitives de ligne.

dpcTriCaps

Spécifie une structure D3DPRIMCAPS qui définit les fonctionnalités de dessin de l’appareil pour les primitives de triangle.

dwDeviceRenderBitDepth

Spécifie la profondeur de bits de rendu de l’appareil. Ce membre peut être un or au niveau du bit des constantes de profondeur de bits DirectDraw suivantes : DDBD_8, DDBD_16, DDBD_24 ou DDBD_32.

dwDeviceZBufferBitDepth

Spécifie la profondeur de bits z-buffer de l’appareil. Ce membre peut être un OR au niveau du bit des constantes de profondeur de bits DirectDraw suivantes : DDBD_8, DDBD_16, DDBD_24 ou DDBD_32.

dwMaxBufferSize

Doit être défini sur zéro.

dwMaxVertexCount

DirectX 7 et versions ultérieures

DirectX 6

Remarques

Cette structure a été remplacée par D3DCAPS8 (voir la documentation du Kit de développement logiciel (SDK) DirectX 8.0) pour les runtimes DirectX 8.0 et versions ultérieures, mais elle est requise pour la compatibilité des runtimes hérités (DirectX 7.0 et versions antérieures). Pour plus d’informations, consultez Reporting DirectX 8.0 Style Direct3D Capabilities .

La fonction DrvGetDirectDrawInfo du pilote retourne ces informations dans la structure D3DHAL_GLOBALDRIVERDATA vers laquelle pointe le membre lpD3DGlobalDriverData de la structure DD_HALINFO .

Le runtime Direct3D construit la structure de D3DDEVICEDESC7 au niveau de l’application (documentée dans la documentation Microsoft Windows SDK) à partir des informations retournées dans la structure D3DDEVICEDESC_V1 et des fonctionnalités étendues interrogées via la fonction DdGetDriverInfo du pilote. Bien que certains indicateurs dwDevCaps soient obsolètes au niveau du pilote, le pilote doit les définir de manière appropriée pour que les applications fonctionnent correctement.

Configuration requise

Condition requise Valeur
En-tête d3dhal.h (inclure D3dhal.h)

Voir aussi

D3DHAL_GLOBALDRIVERDATA

D3DLIGHTINGCAPS

D3DPRIMCAPS

D3dDrawPrimitives2

DD_HALINFO

DdGetDriverInfo**

DrvGetDirectDrawInfo