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) |