structure D3DHAL_D3DEXTENDEDCAPS (d3dhal.h)
D3DHAL_D3DEXTENDEDCAPS décrit des 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 un pouvoir de 2. Ces membres sont fournis en tant qu’indicateurs à 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 un pouvoir de 2. Ces membres sont fournis en tant qu’indicateurs à 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 un pouvoir de 2.
dwMaxTextureHeight
Spécifiez la hauteur de texture maximale, en pixels, prise en charge par le pilote. Ce membre est généralement un pouvoir de 2.
dwMinStippleWidth
Spécifiez la largeur minimale du stipple, 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 de l’info-bulle, 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 qu’une texture peut être encapsulée est spécifiée 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ée par l’expression : dwMaxTextureRepeat * (taille de texture).
dwMaxTextureAspectRatio
Spécifie le ratio d’aspect de texture maximal pris en charge par le matériel. Ce membre est généralement un pouvoir 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 hauteur, selon le résultat le plus élevé. Par exemple, une texture de 8192 pixels de large de 1 pixels ou de 1 pixel de large de 8192 haute n’est pas valide avec un appareil d’affichage qui prend uniquement en charge un rapport d’aspect maximal de 4092. Si le matériel n’est pas limité en proportions, 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 anisotropique, 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 de l’espace d’écran, en pixels, de la région de clip de bande de garde. L’angle supérieur gauche de ce rectangle a des coordonnées (dvGuardBandLeft, dvGuardBandTop). L’angle inférieur gauche a des coordonnées (dvGuardBandRight, dvGuardBandBottom). Les coordonnées à l’intérieur de ce rectangle, mais en dehors du rectangle de fenêtre d’affichage sont automatiquement clippées.
dvExtentsAdjust
Spécifie le nombre de pixels requis pour ajuster le rectangle des étendues vers l’extérieur pour prendre en charge les noyaux antialiasing.
dwStencilCaps
Spécifie les opérations de mémoire tampon de gabarit prises en charge par le pilote ou l’appareil. Pour obtenir des descriptions supplémentaires 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 de D3DSTENCILOP_DECR est prise en charge. |
D3DSTENCILCAPS_DECRSAT | L’opération de D3DSTENCILOP_DECRSAT est prise en charge. |
D3DSTENCILCAPS_INCR | L’opération de D3DSTENCILOP_INCR est prise en charge. |
D3DSTENCILCAPS_INCRSAT | L’opération D3DSTENCILOP_INCRSAT est prise en charge. |
D3DSTENCILCAPS_INVERT | L’opération de D3DSTENCILOP_INVERT est prise en charge. |
D3DSTENCILCAPS_KEEP | L’opération de D3DSTENCILOP_KEEP est prise en charge. |
D3DSTENCILCAPS_REPLACE | L’opération D3DSTENCILOP_REPLACE est prise en charge. |
D3DSTENCILCAPS_ZERO | L’opération de 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 de la plage 0 à 8, où 0 indique que le pilote ne prend pas en charge la texturing, 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 des descriptions des opérations de texture répertoriées dans le tableau suivant. Ce membre peut être une 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 texture 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 texture 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 texture prises en charge par cet appareil.
wMaxSimultaneousTextures
Spécifie le nombre maximal de textures qui peuvent être liées simultanément aux étapes de fusion de textures pour cet appareil. Autrement dit, wMaxSimultaneousTextures spécifie le nombre d’étapes de texture pouvant 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 du Kit de développement logiciel (SDK) Microsoft Windows.
dwMaxActiveLights
Spécifie le nombre maximal de lumières actives prises en charge par cet appareil. Cela ne doit être spécifié que dans les pilotes qui prennent en charge la transformation et l’éclairage matériels (et spécifient donc D3DDEVCAPS_HWTRANSFORMANDLIGHT dans leurs limites d’appareil).
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 spécifient donc D3DPRASTERCAPS_WBUFFER dans leurs majuscules de rastérisation). Les unités des valeurs de profondeur W dépendent de l’application en cours d’exécution. Par exemple, l’application peut spécifier une profondeur en mètres.
wMaxUserClipPlanes
Spécifie le nombre maximal de plans clip 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 une 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 de source de couleur DirectX 7.0. |
D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER | L’appareil ne prend pas en charge la génération de texture en mode visionneuse non local. |
D3DVTXPCAPS_POSITIONALLIGHTS | L’appareil peut faire des lumières positionnelles (y compris des points et des points). |
D3DVTXPCAPS_TEXGEN | L’appareil peut effectuer texgen. |
D3DVTXPCAPS_TEXGEN_SPHEREMAP | L’appareil prend en charge D3DTSS_TCI_SPHEREMAP. |
D3DVTXPCAPS_TWEENING | L’appareil peut effectuer un tweening de vertex. |
dwReserved1
Réservé à l’utilisation du système.
dwReserved2
Réservé à l’utilisation du système.
dwReserved3
Réservé à l’utilisation du système.
dwReserved4
Réservé à l’utilisation du 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 d’exécution de mémoire tampon, même lorsque l’interface utilisée pour récupérer les fonctionnalités (telles que lDirect3DDevice3) ne prend pas en charge les mémoires tampons d’exécution.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | d3dhal.h (include D3dhal.h) |