structure D3DHAL_D3DEXTENDEDCAPS (d3dhal.h)

D3DHAL_D3DEXTENDEDCAPS décrit les fonctionnalités 3D supplémentaires du pilote.

Syntaxe

typedef struct _D3DHAL_D3DEXTENDEDCAPS {
  DWORD    dwSize;
  DWORD    dwMinTextureWidth;
  DWORD    dwMaxTextureWidth;
  DWORD    dwMinTextureHeight;
  DWORD    dwMaxTextureHeight;
  DWORD    dwMinStippleWidth;
  DWORD    dwMaxStippleWidth;
  DWORD    dwMinStippleHeight;
  DWORD    dwMaxStippleHeight;
  DWORD    dwMaxTextureRepeat;
  DWORD    dwMaxTextureAspectRatio;
  DWORD    dwMaxAnisotropy;
  D3DVALUE dvGuardBandLeft;
  D3DVALUE dvGuardBandTop;
  D3DVALUE dvGuardBandRight;
  D3DVALUE dvGuardBandBottom;
  D3DVALUE dvExtentsAdjust;
  DWORD    dwStencilCaps;
  DWORD    dwFVFCaps;
  DWORD    dwTextureOpCaps;
  WORD     wMaxTextureBlendStages;
  WORD     wMaxSimultaneousTextures;
  DWORD    dwMaxActiveLights;
  D3DVALUE dvMaxVertexW;
  WORD     wMaxUserClipPlanes;
  WORD     wMaxVertexBlendMatrices;
  DWORD    dwVertexProcessingCaps;
  DWORD    dwReserved1;
  DWORD    dwReserved2;
  DWORD    dwReserved3;
  DWORD    dwReserved4;
} D3DHAL_D3DEXTENDEDCAPS;

Membres

dwSize

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

dwMinTextureWidth

Spécifiez la largeur de texture minimale, en pixels, prise en charge par le pilote ou l’appareil. Ce membre est généralement une puissance de 2. Ces membres sont fournis en tant qu’indicateurs pour l’application, et il incombe à l’application d’ajuster les tailles de texture si nécessaire.

dwMaxTextureWidth

Spécifiez la largeur de texture maximale, en pixels, prise en charge par le pilote ou l’appareil. Ce membre est généralement une puissance de 2. Ces membres sont fournis en tant qu’indicateurs pour l’application, et il incombe à l’application d’ajuster les tailles de texture si nécessaire.

dwMinTextureHeight

Spécifiez la hauteur de texture minimale, en pixels, prise en charge par le pilote. Ce membre est généralement une puissance de 2.

dwMaxTextureHeight

Spécifiez la hauteur de texture maximale, en pixels, prise en charge par le pilote. Ce membre est généralement une puissance de 2.

dwMinStippleWidth

Spécifiez la largeur d’info-bulle minimale, en pixels, prise en charge par le pilote.

dwMaxStippleWidth

Spécifiez la largeur maximale du stipple, en pixels, prise en charge par le pilote.

dwMinStippleHeight

Spécifiez la hauteur minimale du stipple, en pixels, prise en charge par le pilote.

dwMaxStippleHeight

Spécifiez la hauteur maximale du stipple, en pixels, prise en charge par le pilote.

dwMaxTextureRepeat

Spécifie la plage complète des bits entiers (subfractionnels) des index de texture postnormalisé. Si le bit D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE est défini, le nombre de fois où une texture peut être encapsulée est spécifié par ce membre. Si le bit D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE n’est pas défini, le nombre de fois où une texture peut être encapsulée est donné par l’expression : dwMaxTextureRepeat * (taille de texture).

dwMaxTextureAspectRatio

Spécifie le rapport d’aspect de texture maximal pris en charge par le matériel. Ce membre est généralement une puissance de 2. Ce rapport d’aspect maximal est fourni sous la forme d’une mesure de la hauteur de la texture en pixels divisée par sa largeur en pixels ou sa largeur divisée par la hauteur, selon la valeur qui produit le résultat le plus élevé. Par exemple, une texture de 8192 pixels de large par 1 pixel de haut ou de 1 pixel de large par 8192 n’est pas valide avec un périphérique d’affichage qui ne prend en charge qu’un rapport d’aspect maximal de 4 092. Si le matériel n’est pas limité en proportion, dwMaxTextureAspectRatio est le plus grand de dwMaxTextureWidth et dwMaxTextureHeight.

dwMaxAnisotropy

Spécifie la valeur valide maximale pour l’état de rendu D3DRENDERSTATE_ANISOTROPY. Si le matériel du pilote ne prend pas en charge le filtrage anisotrope, le pilote doit définir ce membre sur 1. La définition de ce membre sur 0 représente une valeur non valide.

dvGuardBandLeft

dvGuardBandTop

dvGuardBandRight

dvGuardBandBottom

Spécifiez les coordonnées d’espace d’écran, en pixels, de la région de clip à bande de protection. Le coin supérieur gauche de ce rectangle a des coordonnées (dvGuardBandLeft, dvGuardBandTop). Le coin inférieur gauche a des coordonnées (dvGuardBandRight, dvGuardBandBottom). Les coordonnées à l’intérieur de ce rectangle, mais à l’extérieur du rectangle de la fenêtre d’affichage, sont automatiquement clippées.

dvExtentsAdjust

Spécifie le nombre de pixels requis pour ajuster le rectangle d’étendues vers l’extérieur afin de prendre en charge les noyaux anti-attirail.

dwStencilCaps

Spécifie les opérations de mémoire tampon de gabarit prises en charge par le pilote ou l’appareil. Pour obtenir d’autres descriptions des opérations de mémoire tampon de gabarit indiquées dans le tableau suivant, consultez D3DSTENCILOP dans la documentation du Kit de développement logiciel (SDK) DirectX. Les opérations de gabarit sont supposées être valides pour les trois états de rendu de l’opération de mémoire tampon de gabarit (D3DRENDERSTATE_STENCILFAIL, D3DRENDERSTATE_STENCILPASS et D3DRENDERSTATE_STENCILZFAIL). Ce membre peut être un or au niveau du bit de l’une des valeurs suivantes :

Valeur Opération de mémoire tampon de gabarit
D3DSTENCILCAPS_DECR L’opération D3DSTENCILOP_DECR est prise en charge.
D3DSTENCILCAPS_DECRSAT L’opération D3DSTENCILOP_DECRSAT est prise en charge.
D3DSTENCILCAPS_INCR L’opération D3DSTENCILOP_INCR est prise en charge.
D3DSTENCILCAPS_INCRSAT L’opération D3DSTENCILOP_INCRSAT est prise en charge.
D3DSTENCILCAPS_INVERT L’opération D3DSTENCILOP_INVERT est prise en charge.
D3DSTENCILCAPS_KEEP L’opération D3DSTENCILOP_KEEP est prise en charge.
D3DSTENCILCAPS_REPLACE L’opération D3DSTENCILOP_REPLACE est prise en charge.
D3DSTENCILCAPS_ZERO L’opération D3DSTENCILOP_ZERO est prise en charge.

dwFVFCaps

Spécifie le nombre de coordonnées de texture que le pilote peut traiter. Cette valeur peut être un entier dans la plage 0 à 8, où 0 indique que le pilote ne prend pas en charge la texturation, 1 indique que le pilote ne peut traiter qu’un seul ensemble de coordonnées de texture, 2 indique que le pilote peut traiter deux ensembles de coordonnées de texture, et ainsi de suite.

Un pilote doit être en mesure d’analyser toutes les coordonnées de texture présentes dans les données de vertex, quel que soit le nombre de coordonnées de texture que le pilote utilise réellement. Le pilote doit utiliser l’index fourni avec la valeur D3DTSS_TEXCOORDINDEX de l’énumération D3DTEXTURESTAGESTATETYPE, décrite dans la documentation du Kit de développement logiciel (SDK) DirectX, pour déterminer les coordonnées de texture à utiliser lors du rendu.

dwTextureOpCaps

Spécifie les opérations de texture prises en charge par l’appareil. Consultez D3DTEXTUREOP dans la documentation du Kit de développement logiciel (SDK) DirectX pour obtenir une description des opérations de texture répertoriées dans le tableau suivant. Ce membre peut être un or au niveau du bit des valeurs suivantes :

Valeur Opération de texture prise en charge
D3DTEXOPCAPS_ADD L’opération de fusion de textures D3DTOP_ADD est prise en charge par cet appareil.
D3DTEXOPCAPS_ADDSIGNED L’opération de fusion de textures D3DTOP_ADDSIGNED est prise en charge par cet appareil.
D3DTEXOPCAPS_ADDSIGNED2X L’opération de fusion de textures D3DTOP_ADDSIGNED2X est prise en charge par cet appareil.
D3DTEXOPCAPS_ADDSMOOTH L’opération de fusion de textures D3DTOP_ADDSMOOTH est prise en charge par cet appareil.
D3DTEXOPCAPS_BLENDCURRENTALPHA L’opération de fusion de textures D3DTOP_BLENDCURRENTALPHA est prise en charge par cet appareil.
D3DTEXOPCAPS_BLENDDIFFUSEALPHA L’opération de fusion de textures D3DTOP_BLENDDIFFUSEALPHA est prise en charge par cet appareil.
D3DTEXOPCAPS_BLENDFACTORALPHA L’opération de fusion de textures D3DTOP_BLENDFACTORALPHA est prise en charge par cet appareil.
D3DTEXOPCAPS_BLENDTEXTUREALPHA L’opération de fusion de textures D3DTOP_BLENDTEXTUREALPHA est prise en charge par cet appareil.
D3DTEXOPCAPS_BLENDTEXTUREALPHAPM L’opération de fusion de textures D3DTOP_BLENDTEXTUREALPHAPM est prise en charge par cet appareil.
D3DTEXOPCAPS_BUMPENVMAP. L’opération de fusion de textures D3DTOP_BUMPENVMAP est prise en charge par cet appareil.
D3DTEXOPCAPS_BUMPENVMAPLUMINANCE L’opération de fusion de textures D3DTOP_BUMPENVMAPLUMINANCE est prise en charge par cet appareil.
D3DTEXOPCAPS_DISABLE L’opération de fusion de textures D3DTOP_DISABLE est prise en charge par cet appareil.
D3DTEXOPCAPS_DOTPRODUCT3 L’opération de fusion de textures D3DTOP_DOTPRODUCT3 est prise en charge par cet appareil.
D3DTEXOPCAPS_MODULATE L’opération de fusion de textures D3DTOP_MODULATE est prise en charge par cet appareil.
D3DTEXOPCAPS_MODULATE2X L’opération de fusion de textures D3DTOP_MODULATE2X est prise en charge par cet appareil.
D3DTEXOPCAPS_MODULATE4X L’opération de fusion de textures D3DTOP_MODULATE4X est prise en charge par cet appareil.
D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR L’opération de fusion de textures D3DTOP_MODULATEALPHA_ADDCOLOR est prise en charge par cet appareil.
D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA L’opération de fusion de textures D3DTOP_MODULATEALPHA_ADDCOLOR est prise en charge par cet appareil.
D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR L’opération de fusion de textures D3DTOP_MODULATEINVALPHA_ADDCOLOR est prise en charge par cet appareil.
D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA L’opération de fusion de textures D3DTOP_MODULATEINVCOLOR_ADDALPHA est prise en charge par cet appareil.
D3DTEXOPCAPS_PREMODULATE L’opération de fusion de textures D3DTOP_PREMODULATE est prise en charge par cet appareil.
D3DTEXOPCAPS_SELECTARG1 L’opération de fusion de textures D3DTOP_SELECTARG1 est prise en charge par cet appareil.
D3DTEXOPCAPS_SELECTARG2 L’opération de fusion de textures D3DTOP_SELECTARG2 est prise en charge par cet appareil.
D3DTEXOPCAPS_SUBTRACT L’opération de fusion de textures D3DTOP_SUBTRACT est prise en charge par cet appareil.

wMaxTextureBlendStages

Spécifie le nombre maximal d’étapes de fusion de textures prises en charge par cet appareil.

wMaxSimultaneousTextures

Spécifie le nombre maximal de textures qui peuvent être simultanément liées aux étapes de fusion de textures pour cet appareil. Autrement dit, wMaxSimultaneousTextures spécifie le nombre d’étapes de texture qui peuvent avoir des textures liées par le biais de la méthode lDirect3DDevice7 ::SetTexture . Pour plus d’informations sur cette méthode, consultez la documentation Microsoft Windows SDK.

dwMaxActiveLights

Spécifie le nombre maximal de lumières actives prises en charge par cet appareil. Cela doit uniquement être spécifié dans les pilotes qui prennent en charge la transformation et l’éclairage matériels (et, par conséquent, spécifier D3DDEVCAPS_HWTRANSFORMANDLIGHT dans leurs majuscules de périphérique).

dvMaxVertexW

Spécifie la plage W maximale prise en charge par cet appareil. Cela doit uniquement être spécifié dans les pilotes qui prennent en charge la mise en mémoire tampon W (et, par conséquent, spécifier D3DPRASTERCAPS_WBUFFER dans leurs majuscules de rastérisation). Les unités pour les valeurs de profondeur W dépendent de l’application en cours d’exécution. Par exemple, l’application peut spécifier la profondeur en mètres.

wMaxUserClipPlanes

Spécifie le nombre maximal de plans de découpage définis par l’utilisateur pris en charge.

wMaxVertexBlendMatrices

Spécifie le nombre de matrices mondiales prises en charge pour le mélange de vertex.

dwVertexProcessingCaps

Spécifie les limites de traitement de vertex prises en charge par le pilote. Ce membre peut être un or au niveau du bit des valeurs suivantes :

Valeur Signification
D3DVTXPCAPS_DIRECTIONALLIGHTS L’appareil peut faire des lumières directionnelles.
D3DVTXPCAPS_LOCALVIEWER L’appareil peut effectuer une visionneuse locale.
D3DVTXPCAPS_MATERIALSOURCE7 L’appareil peut effectuer des opérations color-material-source DirectX 7.0.
D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER L’appareil ne prend pas en charge la génération de textures en mode visionneuse non local.
D3DVTXPCAPS_POSITIONALLIGHTS L’appareil peut faire des lumières de position (y compris point et spot).
D3DVTXPCAPS_TEXGEN L’appareil peut effectuer texgen.
D3DVTXPCAPS_TEXGEN_SPHEREMAP L’appareil prend en charge D3DTSS_TCI_SPHEREMAP.
D3DVTXPCAPS_TWEENING L’appareil peut effectuer une interpolation de vertex.

dwReserved1

Réservé pour le système.

dwReserved2

Réservé pour le système.

dwReserved3

Réservé pour le système.

dwReserved4

Réservé pour le système.

Remarques

Le pilote alloue et initialise zéro cette structure et définit les valeurs appropriées dans les membres qu’il prend en charge. La fonction DdGetDriverInfo du pilote retourne un pointeur vers cette structure lorsque cette fonction est appelée avec le GUID GUID_D3DExtendedCaps.

Lorsque le pilote remplit cette structure, il peut définir des valeurs pour les fonctionnalités de mémoire tampon d’exécution, même lorsque l’interface utilisée pour récupérer les fonctionnalités (telle que lDirect3DDevice3) ne prend pas en charge les mémoires tampons d’exécution.

Configuration requise

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

Voir aussi

DdGetDriverInfo