Structure DDSCAPS (ddraw.h)

La structure DDSCAPS définit les fonctionnalités d’un objet surface Microsoft DirectDraw.

Syntaxe

typedef struct _DDSCAPS {
  DWORD dwCaps;
} DDSCAPS;

Membres

dwCaps

Indique un ensemble d’indicateurs qui spécifient les fonctionnalités de la surface. Ce membre est un or au niveau du bit de l’un des indicateurs suivants :

Indicateur Signification

DDSCAPS_3DDEVICE

Cette surface peut être utilisée pour le rendu 3D. Les applications peuvent utiliser cet indicateur pour s’assurer qu’un appareil qui ne peut afficher que sur un tas donné dispose de surfaces hors écran allouées à partir du tas approprié. Si cet indicateur est défini pour un tas, la surface n’est pas allouée à partir de ce tas.

DDSCAPS_ALLOCONLOAD

La mémoire de la surface n’est pas allouée tant que la surface n’est pas chargée par l’application à l’aide de la méthode IDirect3DTexture ::Load .

DDSCAPS_ALPHA

Cette surface contient uniquement des informations alpha.

DDSCAPS_BACKBUFFER

Cette surface est la mémoire tampon arrière d’une structure de retournement de surface. En règle générale, cette fonctionnalité est définie par la méthode CreateSurface de l’application lorsque l’indicateur DDSCAPS_FLIP est utilisé. Seule la surface qui précède immédiatement la surface DDSCAPS_FRONTBUFFER a cette fonctionnalité définie. Les autres surfaces sont identifiées en tant que mémoires tampons d’arrière-plan par la présence de l’indicateur DDSCAPS_FLIP, leur ordre d’attachement et l’absence des fonctionnalités de DDSCAPS_FRONTBUFFER et de DDSCAPS_BACKBUFFER. Si cette fonctionnalité est envoyée à la méthode CreateSurface de l’application, une mémoire tampon arrière autonome est en cours de création. Une fois cette méthode appelée, cette surface peut être attachée à une mémoire tampon avant, à une autre mémoire tampon arrière ou aux deux pour former une structure de surface de basculement. Pour plus d’informations, consultez la méthode AddAttachedSurface dans le Kit de développement logiciel (SDK) DirectX. DirectDraw prend en charge un nombre arbitraire de surfaces dans une structure de retournement.

DDSCAPS_COMPLEX

Une surface complexe est décrite. Une surface complexe entraîne la création de plusieurs surfaces. Les surfaces supplémentaires sont attachées à la surface racine. La structure complexe ne peut être détruite qu’en détruisant la racine.

DDSCAPS_EXECUTEBUFFER

La surface est une mémoire tampon d’exécution, qui est un bloc linéaire de mémoire système ou vidéo qui contient une liste d’affichage Microsoft Direct3D. Un pilote signale ce bit de fonctionnalité pour indiquer qu’il peut créer des mémoires tampons d’exécution dans la mémoire vidéo. Si le runtime Direct3D détecte ce bit, il peut demander des mémoires tampons d’exécution au pilote. Les applications ne peuvent pas détecter ce bit de fonctionnalité.

DDSCAPS_FLIP

Cette surface fait partie d’une structure de retournement de surface. Lorsque cette fonctionnalité est passée à la méthode CreateSurface de l’application, une mémoire tampon avant et une ou plusieurs mémoires tampons d’arrière-plan sont créées. DirectDraw définit le bit DDSCAPS_FRONTBUFFER sur la surface de mémoire tampon avant et le bit DDSCAPS_BACKBUFFER sur la surface adjacente à la surface de la mémoire tampon avant. Le membre dwBackBufferCount de la structure DDSURFACEDESC doit être défini sur au moins 1 pour que l’appel de méthode réussisse. La fonctionnalité DDSCAPS_COMPLEX doit toujours être définie lors de la création de plusieurs surfaces à l’aide de la méthode CreateSurface .

DDSCAPS_FRONTBUFFER

Cette surface est la mémoire tampon avant d’une structure de retournement de surface. Cet indicateur est généralement défini par la méthode CreateSurface de l’application lorsque la fonctionnalité DDSCAPS_FLIP est définie. Si cette fonctionnalité est envoyée à la méthode CreateSurface , une mémoire tampon frontale autonome est créée. Cette surface n’a pas la fonctionnalité DDSCAPS_FLIP. Il peut être attaché à d’autres mémoires tampons d’arrière-plan pour former une structure de basculement à l’aide de la méthode AddAttachedSurface de l’application.

DDSCAPS_HWCODEC

Cette surface doit pouvoir avoir un flux décompressé par le matériel.

DDSCAPS_LIVEVIDEO

Cette surface doit être en mesure de recevoir des vidéos en direct.

DDSCAPS_LOCALVIDMEM

Cette surface existe en mémoire d’affichage locale true plutôt qu’en mémoire d’affichage non locale. Si cet indicateur est spécifié, DDSCAPS_VIDEOMEMORY doit également être spécifié. Cet indicateur ne peut pas être utilisé avec l’indicateur DDSCAPS_NONLOCALVIDMEM.

DDSCAPS_MIPMAP

Cette surface est un niveau d’un mipmap. Cette surface est attachée à d’autres surfaces DDSCAPS_MIPMAP pour former le mipmap. Pour ce faire, vous pouvez créer un certain nombre de surfaces et les attacher à l’aide de la méthode AddAttachedSurface de l’application ou implicitement par la méthode CreateSurface de l’application. Si cette fonctionnalité est définie, DDSCAPS_TEXTURE doit également l’être.

DDSCAPS_MODEX

Cette surface est une surface 320 x 200 ou 320 x 240 en mode X. Si ce bit de fonctionnalité est défini par le pilote Microsoft Windows 2000 ou ultérieur, DirectDraw est désactivé.

DDSCAPS_NONLOCALVIDMEM

Cette surface existe dans la mémoire d’affichage non locale plutôt que dans la mémoire d’affichage locale true. Si cet indicateur est spécifié, DDSCAPS_VIDEOMEMORY’indicateur doit également être spécifié. Il ne peut pas être utilisé avec l’indicateur DDSCAPS_LOCALVIDMEM.

DDSCAPS_OFFSCREENPLAIN

Cette surface est une surface hors écran qui n’est pas une surface superposée, une texture, une z-buffer, une mémoire tampon avant, une mémoire tampon d’arrière-plan ou une surface alpha. Il est utilisé pour identifier les surfaces simples.

DDSCAPS_OVERLAY

Cette surface est une superposition. La visibilité de cette superposition varie selon qu’elle est actuellement superposée sur la surface primaire. DDSCAPS_VISIBLE peut être utilisé pour déterminer s’il est en cours de superposition.

DDSCAPS_OPTIMIZED

Cet indicateur n’est actuellement pas implémenté.

DDSCAPS_OWNDC

Cette surface aura une association de contexte d’appareil (DC) pendant une longue période. Si ce bit de fonctionnalité est défini par le pilote Windows 2000 ou ultérieur, DirectDraw est désactivé.

DDSCAPS_PALETTE

Ce pilote de périphérique permet de créer et d’attacher des objets DirectDrawPalette uniques à cette surface.

DDSCAPS_PRIMARYSURFACE

Cette surface est la surface principale. Il représente ce qui est visible pour l’utilisateur pour le moment.

DDSCAPS_PRIMARYSURFACELEFT

Cette surface est la surface principale de l’œil gauche. Il représente ce qui est visible à l’œil gauche de l’utilisateur pour le moment. Lorsque cette surface est créée, la surface avec la fonctionnalité DDSCAPS_PRIMARYSURFACE représente ce qui est vu par l’œil droit de l’utilisateur.

DDSCAPS_STANDARDVGAMODE

Cette surface est une surface en mode VGA standard, et non une surface ModeX. Cet indicateur ne peut pas être utilisé en combinaison avec l’indicateur DDSCAPS_MODEX.

DDSCAPS_SYSTEMMEMORY

Cette mémoire de surface a été allouée à partir de la mémoire système. Si ce bit de fonctionnalité est défini par le pilote Windows 2000 ou ultérieur, DirectDraw est désactivé.

DDSCAPS_TEXTURE

Cette surface peut être utilisée comme texture 3D. Elle n’indique pas si la surface est utilisée à cet effet.

DDSCAPS_VIDEOMEMORY

Cette surface existe dans la mémoire d’affichage.

DDSCAPS_VIDEOPORT

Cette surface peut recevoir des données à partir d’un objet VPE (Video Port Extensions).

DDSCAPS_VISIBLE

Les modifications apportées à cette surface sont immédiatement visibles. Il est toujours défini pour la surface primaire, ainsi que pour les superpositions pendant qu’elles sont superposées et les cartes de texture pendant qu’elles sont en cours de texture.

DDSCAPS_WRITEONLY

Seul l’accès en écriture est autorisé à la surface. L’accès en lecture à partir de la surface peut générer une erreur de protection générale (GPF), mais les résultats de lecture de cette surface ne sont pas significatifs. Si ce bit de fonctionnalité est défini par le pilote Windows 2000 ou ultérieur, DirectDraw est désactivé.

DDSCAPS_ZBUFFER

Cette surface est la mémoire tampon z. Il contient des informations de profondeur de bits utilisées pour déterminer les pixels qui sont visibles et ceux qui sont masqués. La mémoire tampon z contient des informations qui ne peuvent pas être affichées.

Remarques

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.

Configuration requise

Condition requise Valeur
En-tête ddraw.h