Structure DDSCAPS2 (ddraw.h)

La structure DDSCAPS2 définit des fonctionnalités supplémentaires d’un objet surface Microsoft DirectDraw.

Syntaxe

typedef struct _DDSCAPS2 {
  DWORD dwCaps;
  DWORD dwCaps2;
  DWORD dwCaps3;
  union {
    DWORD dwCaps4;
    DWORD dwVolumeDepth;
  } DUMMYUNIONNAMEN;
} DDSCAPS2;

Membres

dwCaps

Spécifie un ensemble d’indicateurs représentant les fonctionnalités de la surface. Les indicateurs de ce membre sont identiques à ceux du membre correspondant de la structure DDSCAPS .

dwCaps2

Spécifie un ensemble d’indicateurs qui indiquent des fonctionnalités de surface supplémentaires. Ce membre peut contenir un ou plusieurs des indicateurs de fonctionnalité suivants. Chacun de ces indicateurs, à l’exception de DDSCAPS2_TEXTUREMANAGE, est défini par l’application lorsque l’application appelle sa méthode CreateSurface .

Indicateur Signification

DDSCAPS2_ADDITIONALPRIMARY

Microsoft DirectX 9.0 et versions ultérieures uniquement.

Indique que les têtes subordonnées d’un carte à plusieurs têtes ne contrôlent plus leur mémoire vidéo après la création de surfaces pour ces têtes subordonnées avec ce jeu de bits. Une fois ces surfaces détruites, les têtes subordonnées reprennent le contrôle de leur mémoire. Pour plus d’informations, consultez Gestion de la mémoire Multiple-Head.

DDSCAPS2_COMMANDBUFFER

Marque une mémoire tampon de commandes, utilisée par Microsoft Direct3D pour les commandes par lots.

DDSCAPS2_CUBEMAP

Cette surface est une carte d’environnement cubique. Lorsque vous utilisez cet indicateur, spécifiez également le ou les visages de la carte d’environnement cubique à créer.

DDSCAPS2_CUBEMAP_POSITIVEX

Cet indicateur est utilisé avec l’indicateur DDSCAPS2_CUBEMAP pour créer la face X positive d’une carte d’environnement cubique.

DDSCAPS2_CUBEMAP_NEGATIVEX

Cet indicateur est utilisé avec l’indicateur DDSCAPS2_CUBEMAP pour créer la face X négative d’une carte d’environnement cubique.

DDSCAPS2_CUBEMAP_POSITIVEY

Cet indicateur est utilisé avec l’indicateur DDSCAPS2_CUBEMAP pour créer la face Y positive d’une carte d’environnement cubique.

DDSCAPS2_CUBEMAP_NEGATIVEY

Cet indicateur est utilisé avec l’indicateur DDSCAPS2_CUBEMAP pour créer la face Y négative d’une carte d’environnement cubique.

DDSCAPS2_CUBEMAP_POSITIVEZ

Cet indicateur est utilisé avec l’indicateur DDSCAPS2_CUBEMAP pour créer la face Z positive d’une carte d’environnement cubique.

DDSCAPS2_CUBEMAP_NEGATIVEZ

Cet indicateur est utilisé avec l’indicateur DDSCAPS2_CUBEMAP pour créer la face Z négative d’une carte d’environnement cubique.

DDSCAPS2_CUBEMAP_ALLFACES

Cet indicateur est utilisé avec l’indicateur DDSCAPS2_CUBEMAP pour créer les six faces d’une carte d’environnement cubique.

DDSCAPS2_D3DTEXTUREMANAGE

La texture est toujours gérée par Direct3D.

DDSCAPS2_DISCARDBACKBUFFER

DirectX 8.0 et versions ultérieures uniquement.

Indique que la conservation de la mémoire tampon arrière n’est pas requise. Il sera défini sur la surface principale et les mémoires tampons arrière si l’application a défini D3DSWAPEFFECT_DISCARD sur l’API Present. DirectX 9.0 et versions ultérieures uniquement. Indique que la conservation de la surface de gabarit de profondeur n’est pas requise.

DDSCAPS2_DONOTPERSIST

La surface managée peut être perdue en toute sécurité.

DDSCAPS2_ENABLEALPHACHANNEL

DirectX 8.1 et versions ultérieures uniquement.

Indique de créer des surfaces qui font partie d’une chaîne de basculement primaire ou qui se trouvent sur des mémoires tampons arrière autonomes. Cet indicateur active le canal alpha. Pour plus d’informations, consultez Activation des canaux alpha sur Full-Screen mémoires tampons arrière.

DDSCAPS2_EXTENDEDFORMATPRIMARY

DirectX 9.0 et versions ultérieures uniquement.

Indique la création d’une surface principale factice à utiliser avec un mode d’affichage non standard. Pour plus d’informations, consultez Basculer entre les modes Standard et Non standard.

DDSCAPS2_HARDWAREDEINTERLACE

Le pilote doit convertir le signal entrelacé en trames progressives. Les indicateurs DDSCAPS_VIDEOPORT et DDSCAPS_OVERLAY dans cette structure doivent également être définis.

DDSCAPS2_HINTANTIALIASING

L’application utilisera l’anticrénelage. Cet indicateur n’est valide que si l’indicateur DDSCAPS_3DDEVICE est également défini.

DDSCAPS2_HINTDYNAMIC

L’application met à jour la surface fréquemment. Les surfaces avec ce jeu d’indicateurs doivent également avoir l’indicateur DDSCAPS_TEXTURE dans cet ensemble de structures. Cet indicateur ne peut pas être utilisé avec les indicateurs DDSCAPS2_HINTSTATIC ou DDSCAPS2_OPAQUE.

DDSCAPS2_HINTSTATIC

L’application met à jour la surface rarement, mais nécessite toujours un accès. Les surfaces avec ce jeu d’indicateurs doivent également avoir l’indicateur DDSCAPS_TEXTURE dans cet ensemble de structures. Cet indicateur ne peut pas être utilisé avec les indicateurs DDSCAPS2_HINTDYNAMIC ou DDSCAPS2_OPAQUE.

DDSCAPS2_INDEXBUFFER

DirectX 8.0 et versions ultérieures uniquement.

Marque une mémoire tampon d’index, créée et contrôlée par l’application.

DDSCAPS2_MIPMAPSUBLEVEL

Il permet d’utiliser plus facilement GetAttachedSurface, plutôt que EnumAttachedSurfaces, pour les constructions de surface telles que les cartes de cube, dans lesquelles plusieurs surfaces mipmap sont attachées à la surface racine. Cela doit être défini sur toutes les surfaces de niveau non supérieur dans une carte de cube mipmapped afin qu’un appel à GetAttachedSurface puisse faire la distinction entre les visages de niveau supérieur et les niveaux mipmap attachés. Ce bit de fonctionnalité est ignoré par CreateSurface.

DDSCAPS2_NOTUSERLOCKABLE

DirectX 8.0 et versions ultérieures uniquement.

Définissez sur les mémoires tampons primaire et arrière si la chaîne de basculement n’est pas verrouillable ou sur une cible de rendu qui n’est pas verrouillable. Cela permet aux pilotes d’effectuer une optimisation en arrière-plan. Notez qu’il est toujours possible de verrouiller les surfaces de sorte que le pilote doit gérer ces cas, mais ces verrous sont peu fréquents et ne sont pas censés être rapides. Le pilote peut également déterminer si la mémoire tampon de profondeur/gabarit est verrouillable par la présence de cet indicateur.

DDSCAPS2_NPATCHES

DirectX 8.0 et versions ultérieures uniquement.

Indique que les données de la mémoire tampon de vertex peuvent être utilisées pour afficher les n correctifs.

DDSCAPS2_OPAQUE

L’application ne verrouillera jamais, ne mettra jamais à jour la surface pendant le reste de la durée de vie de cette surface. Le pilote peut compresser ou réorganiser la surface sans jamais avoir à la décompresser. Les surfaces avec ce jeu d’indicateurs doivent également avoir l’indicateur DDSCAPS_TEXTURE dans cet ensemble de structures. Cet indicateur ne peut pas être utilisé avec les indicateurs DDSCAPS2_HINTDYNAMIC ou DDSCAPS2_HINTSTATIC.

DDSCAPS2_POINTS

DirectX 8.0 et versions ultérieures uniquement.

Indique que les données de mémoire tampon de vertex peuvent être utilisées pour afficher des points et des points sprites.

DDSCAPS2_RTPATCHES

DirectX 8.0 et versions ultérieures uniquement.

Indique que les données de mémoire tampon de vertex peuvent être utilisées pour afficher les rt-patches.

DDSCAPS2_STEREOSURFACELEFT

Cette surface fait partie d’une chaîne de retournement stéréo. Lorsque cet indicateur est défini lors d’un appel CreateSurface , une paire de surfaces stéréo est créée pour chaque mémoire tampon dans la chaîne de basculement principale. Vous devez créer une chaîne de basculement complexe (avec des mémoires tampons d’arrière-mémoire). Vous ne pouvez pas créer un ensemble unique de surfaces stéréo. La méthode Flip nécessite des mémoires tampons d’arrière-mémoire, de sorte qu’au moins 4 surfaces doivent être créées.

En outre, lorsque cet indicateur est défini dans une structure DDSURFACEDESC à la suite d’un appel EnumDisplayModes ou GetDisplayMode , il indique la prise en charge de la stéréo dans ce mode.

DDSCAPS2_TEXTUREMANAGE

Le client indique que cette surface de texture doit être gérée par le pilote si possible ; sinon, il est géré par le mode immédiat Direct3D. Cet indicateur peut être utilisé uniquement pour les surfaces de texture (DDSCAPS_TEXTURE’indicateur défini dans le membre dwCaps ). Pour plus d’informations, consultez Gestion automatique des textures dans la documentation en mode immédiat Direct3D.

DDSCAPS2_VERTEXBUFFER

Marque une mémoire tampon de vertex explicite, créée et contrôlée par l’application.

DDSCAPS2_VOLUME

DirectX 8.0 et versions ultérieures uniquement.

Cet indicateur est défini si la texture a une profondeur en plus de la largeur et de la hauteur.

dwCaps3

Versions DirectX 8.0 et DirectX 8.1 uniquement.

Spécifie le nombre d’échantillons pour une surface multi-échantillonnée. Ce champ contient l’une des valeurs du type énuméré D3DMULTISAMPLE_TYPE. Si une surface n’est pas échantillonnée plusieurs fois, dwCaps3 a la valeur D3DMULTISAMPLE_NONE (0).

DirectX 9.0 et versions ultérieures uniquement.

Spécifie un ensemble de bits qui indiquent des fonctionnalités de surface supplémentaires. Ce membre peut être un or au niveau du bit des bits suivants.

Bits Signification

Bits dans le masque de DDSCAPS3_MULTISAMPLE_MASK (0x0000001FL).

Les cinq premiers bits de dwCaps3 indiquent le nombre d’échantillons pour une surface à échantillonner plusieurs. Le nombre d’exemples peut être spécifié à l’aide de l’une des valeurs du type énuméré D3DMULTISAMPLE_TYPE. Si une surface n’est pas échantillonnée plusieurs fois, cette valeur est D3DMULTISAMPLE_NONE (0).

Bits dans le masque DDSCAPS3_MULTISAMPLE_QUALITY_MASK (0x000000E0L).

Les trois bits suivants de dwCaps3 indiquent le niveau de qualité des échantillons de rendu dans une surface à échantillonnage multiple. Le niveau de qualité doit être un nombre compris entre 0 et 7 qui représente un niveau de qualité compris entre 1 et 8 respectivement. Notez que même si une surface n’est pas échantillonnée plusieurs fois (spécifiée dans les cinq premiers bits à l’aide de D3DMULTISAMPLE_NONE), elle peut toujours avoir un niveau de qualité supérieur à 1 (spécifié à l’aide d’un nombre supérieur à 0).

DDSCAPS3_RESERVED1 (0x00000100L)

Réservé

DDSCAPS3_VIDEO (0x00000200L)

Indique que la cible de rendu contient des données vidéo. Notez que plusieurs cibles de rendu peuvent être créées avec cet indicateur et que si deux ou plusieurs de ces cibles de rendu appartiennent au même contexte Direct3D, le pilote détermine que ces cibles de rendu affichent toutes le même flux vidéo, que les surfaces cibles de rendu soient attachées les unes aux autres.

DDSCAPS3_LIGHTWEIGHTMIPMAP (0x00000400L)

Indique si cette surface a des niveaux de mip légers

DDSCAPS3_AUTOGENMIPMAP (0x00000800L)

Indique que les sous-niveaux mip pour cette surface sont générés automatiquement.

DDSCAPS3_DMAP (0x00001000L)

Indique une texture de carte de déplacement qui peut être échantillonné par l’échantillonneur de carte de déplacement dans l’unité de pavage.

DUMMYUNIONNAMEN

N/A

DUMMYUNIONNAMEN.dwCaps4

Le mot bas est la profondeur d’une texture de volume.

DUMMYUNIONNAMEN.dwVolumeDepth

Spécifie la profondeur de bits de texture du volume.

Notes

Cette structure est utilisée par le pilote pour signaler les types de surfaces qu’il prend en charge. Elle est également remplie par une application pour spécifier le type de surface à créer.

Spécifications

   
En-tête ddraw.h