Estructura DDSCAPS (ddraw.h)

La estructura DDSCAPS define las funciones de un objeto de superficie de Microsoft DirectDraw.

Sintaxis

typedef struct _DDSCAPS {
  DWORD dwCaps;
} DDSCAPS;

Miembros

dwCaps

Indica un conjunto de marcas que especifican las funciones de la superficie. Este miembro es un OR bit a bit de cualquiera de las marcas siguientes:

Marca Significado

DDSCAPS_3DDEVICE

Esta superficie se puede usar para la representación 3D. Las aplicaciones pueden usar esta marca para asegurarse de que un dispositivo que solo se puede representar en un montón determinado tiene superficies fuera de la pantalla asignadas desde el montón correcto. Si se establece esta marca para un montón, la superficie no se asigna desde ese montón.

DDSCAPS_ALLOCONLOAD

La memoria de la superficie no se asigna hasta que la aplicación carga la superficie mediante el método IDirect3DTexture::Load .

DDSCAPS_ALPHA

Esta superficie solo contiene información alfa.

DDSCAPS_BACKBUFFER

Esta superficie es el búfer de reserva de una estructura de volteo de superficie. Normalmente, esta funcionalidad se establece mediante el método CreateSurface de la aplicación cuando se usa la marca DDSCAPS_FLIP. Solo la superficie que precede inmediatamente a la superficie DDSCAPS_FRONTBUFFER tiene este conjunto de funcionalidades. Las demás superficies se identifican como búferes de reserva por la presencia de la marca DDSCAPS_FLIP, su orden de datos adjuntos y la ausencia de las funcionalidades de DDSCAPS_FRONTBUFFER y DDSCAPS_BACKBUFFER. Si esta funcionalidad se envía al método CreateSurface de la aplicación, se crea un búfer back independiente. Después de llamar a este método, esta superficie se podría adjuntar a un búfer frontal, a otro búfer de reserva o a ambos para formar una estructura de superficie de volteo. Para obtener más información, consulte el método AddAttachedSurface en el SDK de DirectX. DirectDraw admite un número arbitrario de superficies en una estructura de volteo.

DDSCAPS_COMPLEX

Se describe una superficie compleja. Una superficie compleja da como resultado la creación de más de una superficie. Las superficies adicionales se adjuntan a la superficie raíz. La estructura compleja solo se puede destruir destruyendo la raíz.

DDSCAPS_EXECUTEBUFFER

La superficie es un búfer de ejecución, que es un fragmento lineal de memoria de sistema o vídeo que contiene una lista de visualización de Microsoft Direct3D. Un controlador notifica este bit de funcionalidad para indicar que puede crear búferes de ejecución en memoria de vídeo. Si el tiempo de ejecución de Direct3D detecta este bit, puede solicitar la ejecución de búferes desde el controlador. Las aplicaciones no pueden detectar este bit de funcionalidad.

DDSCAPS_FLIP

Esta superficie forma parte de una estructura de volteo de superficie. Cuando esta funcionalidad se pasa al método CreateSurface de la aplicación, se crean un búfer frontal y uno o varios búferes de reserva. DirectDraw establece el bit de DDSCAPS_FRONTBUFFER en la superficie del búfer frontal y el bit de DDSCAPS_BACKBUFFER en la superficie adyacente a la superficie del búfer frontal. El miembro dwBackBufferCount de la estructura DDSURFACEDESC debe establecerse en al menos 1 para que la llamada al método se realice correctamente. La funcionalidad DDSCAPS_COMPLEX siempre debe establecerse al crear varias superficies mediante el método CreateSurface .

DDSCAPS_FRONTBUFFER

Esta superficie es el búfer frontal de una estructura de volteo de superficie. Normalmente, el método CreateSurface de la aplicación establece esta marca cuando se establece la funcionalidad DDSCAPS_FLIP. Si esta funcionalidad se envía al método CreateSurface , se crea un búfer frontal independiente. Esta superficie no tiene la funcionalidad DDSCAPS_FLIP. Se puede adjuntar a otros búferes de reserva para formar una estructura de volteo mediante el método AddAttachedSurface de la aplicación.

DDSCAPS_HWCODEC

Esta superficie debe ser capaz de tener una secuencia descomprimida por el hardware.

DDSCAPS_LIVEVIDEO

Esta superficie debe ser capaz de recibir vídeo en directo.

DDSCAPS_LOCALVIDMEM

Esta superficie existe en la memoria de visualización local verdadera en lugar de en la memoria de visualización no local. Si se especifica esta marca, también se debe especificar DDSCAPS_VIDEOMEMORY. Esta marca no se puede usar con la marca DDSCAPS_NONLOCALVIDMEM.

DDSCAPS_MIPMAP

Esta superficie es un nivel de un mapa mip. Esta superficie se adjunta a otras superficies de DDSCAPS_MIPMAP para formar el mapa mip. Esto se puede hacer explícitamente mediante la creación de una serie de superficies y su asociación mediante el método AddAttachedSurface de la aplicación o implícitamente mediante el método CreateSurface de la aplicación. Si se establece esta funcionalidad, también se debe establecer DDSCAPS_TEXTURE.

DDSCAPS_MODEX

Esta superficie es una superficie X de 320 x 200 o 320 x 240. Si el controlador de Microsoft Windows 2000 o posterior establece este bit de funcionalidad, DirectDraw está deshabilitado.

DDSCAPS_NONLOCALVIDMEM

Esta superficie existe en la memoria de visualización no local en lugar de en la memoria de visualización local true. Si se especifica esta marca, también se debe especificar DDSCAPS_VIDEOMEMORY marca. No se puede usar con la marca DDSCAPS_LOCALVIDMEM.

DDSCAPS_OFFSCREENPLAIN

Esta superficie es cualquier superficie fuera de pantalla que no sea una superposición, textura, z-buffer, búfer frontal, búfer de reserva o superficie alfa. Se usa para identificar superficies sin formato.

DDSCAPS_OVERLAY

Esta superficie es una superposición. La visibilidad de esta superposición depende de si actualmente se superpone a la superficie principal. DDSCAPS_VISIBLE se puede usar para determinar si se está superpuesto en este momento.

DDSCAPS_OPTIMIZED

Esta marca no está implementada actualmente.

DDSCAPS_OWNDC

Esta superficie tendrá una asociación de contexto de dispositivo (DC) durante un largo período. Si el controlador de Windows 2000 o posterior establece este bit de funcionalidad, DirectDraw se deshabilitará.

DDSCAPS_PALETTE

Este controlador de dispositivo permite crear y adjuntar objetos DirectDrawPalette únicos a esta superficie.

DDSCAPS_PRIMARYSURFACE

Esta superficie es la superficie principal. Representa lo que es visible para el usuario en este momento.

DDSCAPS_PRIMARYSURFACELEFT

Esta superficie es la superficie principal del ojo izquierdo. Representa lo que es visible para el ojo izquierdo del usuario en el momento. Cuando se crea esta superficie, la superficie con la funcionalidad DDSCAPS_PRIMARYSURFACE representa lo que ve el ojo derecho del usuario.

DDSCAPS_STANDARDVGAMODE

Esta superficie es una superficie de modo VGA estándar y no una superficie ModeX. Esta marca no se puede usar en combinación con la marca DDSCAPS_MODEX.

DDSCAPS_SYSTEMMEMORY

Esta memoria expuesta se asignó a partir de la memoria del sistema. Si el controlador de Windows 2000 o posterior establece este bit de funcionalidad, DirectDraw está deshabilitado.

DDSCAPS_TEXTURE

Esta superficie se puede usar como textura 3D. No indica si la superficie se está usando para ese propósito.

DDSCAPS_VIDEOMEMORY

Esta superficie existe en la memoria de presentación.

DDSCAPS_VIDEOPORT

Esta superficie puede recibir datos de un objeto de extensiones de puerto de vídeo (VPE).

DDSCAPS_VISIBLE

Los cambios realizados en esta superficie son visibles inmediatamente. Siempre se establece para la superficie principal, así como para superposiciones mientras se superponen y mapas de textura mientras se están texturando.

DDSCAPS_WRITEONLY

Solo se permite el acceso de escritura a la superficie. El acceso de lectura desde la superficie puede generar un error de protección general (GPF), pero los resultados leídos de esta superficie no son significativos. Si el controlador de Windows 2000 o posterior establece este bit de funcionalidad, DirectDraw está deshabilitado.

DDSCAPS_ZBUFFER

Esta superficie es el búfer z. Contiene información de profundidad de bits que se usa para determinar qué píxeles están visibles y cuáles están ocultos. El búfer z contiene información que no se puede mostrar.

Comentarios

El controlador usa esta estructura para notificar los tipos de superficies que admite el controlador. También se rellena mediante una aplicación para especificar el tipo de superficie que se va a crear.

Requisitos

Requisito Valor
Header ddraw.h