Estructura DDPIXELFORMAT (ddraw.h)
La estructura DDPIXELFORMAT describe el formato de píxel de un objeto DirectDrawSurface para el método IDirectDrawSurface7::GetPixelFormat .
Sintaxis
typedef struct _DDPIXELFORMAT {
DWORD dwSize;
DWORD dwFlags;
DWORD dwFourCC;
#if ...
union {
DWORD dwRGBBitCount;
DWORD dwYUVBitCount;
DWORD dwZBufferBitDepth;
DWORD dwAlphaBitDepth;
DWORD dwLuminanceBitCount;
DWORD dwBumpBitCount;
DWORD dwPrivateFormatBitCount;
} DUMMYUNIONNAMEN;
#elif
union {
DWORD dwRBitMask;
DWORD dwYBitMask;
DWORD dwStencilBitDepth;
DWORD dwLuminanceBitMask;
DWORD dwBumpDuBitMask;
DWORD dwOperations;
} DUMMYUNIONNAMEN;
#elif
union {
DWORD dwGBitMask;
DWORD dwUBitMask;
DWORD dwZBitMask;
DWORD dwBumpDvBitMask;
struct {
WORD wFlipMSTypes;
WORD wBltMSTypes;
} MultiSampleCaps;
} DUMMYUNIONNAMEN;
#elif
union {
DWORD dwBBitMask;
DWORD dwVBitMask;
DWORD dwStencilBitMask;
DWORD dwBumpLuminanceBitMask;
} DUMMYUNIONNAMEN;
#else
union {
DWORD dwRGBAlphaBitMask;
DWORD dwYUVAlphaBitMask;
DWORD dwLuminanceAlphaBitMask;
DWORD dwRGBZBitMask;
DWORD dwYUVZBitMask;
} DUMMYUNIONNAMEN;
#endif
} DDPIXELFORMAT;
Miembros
dwSize
Tamaño de la estructura, en bytes. Este miembro debe inicializarse antes de usar la estructura.
dwFlags
Las marcas siguientes para describir controles opcionales para esta estructura.
DDPF_ALPHA
El formato de píxel describe una superficie de solo alfa.
DDPF_ALPHAPIXELS
La superficie tiene información del canal alfa en formato de píxel.
DDPF_ALPHAPREMULT
La superficie usa el formato alfa premultiplicado. Es decir, los componentes de color de cada píxel se multiplican previamente por el componente alfa.
DDPF_BUMPLUMINANCE
Los datos de luminancia en el formato de píxeles son válidos y el miembro dwLuminanceBitMask describe los bits de luminancia válidos para una superficie de solo luminancia o luminancia alfa.
DDPF_BUMPDUDV
Los datos de mapa de bump-map en el formato de píxeles son válidos. La información de mapa de impacto se encuentra en los miembros dwBumpBitCount, dwBumpDuBitMask, dwBumpDvBitMask y dwBumpLuminanceBitMask .
DDPF_COMPRESSED
La superficie acepta datos de píxeles en el formato especificado y los comprime durante la operación de escritura.
DDPF_D3DFORMAT
Indica una entrada de funcionalidad de formato DirectX 8.0 y versiones posteriores en la lista de formato de textura. Esta marca no se expone a las aplicaciones y se define en Ddrawi.h.
DDPF_FOURCC
El miembro dwFourCC es válido y contiene un código FOURCC que describe un formato de píxel no RGB.
DDPF_LUMINANCE
El formato de píxel describe una superficie de solo luminancia o luminancia alfa.
DDPF_PALETTEINDEXED1
La superficie tiene un índice de color de 1 bits.
DDPF_PALETTEINDEXED2
La superficie tiene un índice de color de 2 bits.
DDPF_PALETTEINDEXED4
La superficie tiene un índice de color de 4 bits.
DDPF_PALETTEINDEXED8
La superficie tiene un índice de color de 8 bits.
DDPF_PALETTEINDEXEDTO8
La superficie está indizada en color de 1, 2 o 4 bits en una paleta de 8 bits.
DDPF_RGB
Los datos RGB de la estructura de formato de píxeles son válidos.
DDPF_RGBTOYUV
La superficie acepta datos RGB y los traduce durante la operación de escritura en datos YUV. El formato de los datos que se van a escribir se encuentra en la estructura de formato de píxeles. Se establece la marca DDPF_RGB.
DDPF_STENCILBUFFER
La superficie codifica la galería de símbolos y la información de profundidad en cada píxel del búfer z. Esta marca solo se puede usar si también se especifica la marca DDPF_ZBUFFER.
DDPF_YUV
Los datos de YUV en la estructura de formato de píxeles son válidos.
DDPF_ZBUFFER
El formato de píxel describe una superficie de búfer z.
DDPF_ZPIXELS
La superficie contiene información z en los píxeles.
dwFourCC
Un código FourCC.
DUMMYUNIONNAMEN
DUMMYUNIONNAMEN.dwRGBBitCount
Bits RGB por píxel (4, 8, 16, 24 o 32).
DUMMYUNIONNAMEN.dwYUVBitCount
Bits YUV por píxel (4, 8, 16, 24 o 32).
DUMMYUNIONNAMEN.dwZBufferBitDepth
Profundidad de bits del búfer Z (8, 16, 24 o 32).
DUMMYUNIONNAMEN.dwAlphaBitDepth
Profundidad de bits de canal alfa (1, 2, 4 o 8) para una superficie de solo alfa (DDPF_ALPHA). Para los formatos de píxeles que contienen información alfa intercalada con datos de color (DDPF_ALPHAPIXELS), cuente los bits del miembro dwRGBAlphaBitMask para obtener la profundidad de bits del componente alfa. Para obtener más información sobre cómo determinar la profundidad de bits alfa, vea Comentarios.
DUMMYUNIONNAMEN.dwLuminanceBitCount
Bits de luminancia totales por píxel. Este miembro solo se aplica a las superficies de solo luminancia y luminancia-alfa.
DUMMYUNIONNAMEN.dwBumpBitCount
Total de bits de mapa de golpes por píxel en una superficie de mapa de golpes.
DUMMYUNIONNAMEN.dwPrivateFormatBitCount
Bits por píxel de formatos de controlador privado. Solo es válido en la lista de formato de textura y si se establece DDPF_D3DFORMAT.
DUMMYUNIONNAMEN.dwRBitMask
Máscara para bits rojos.
DUMMYUNIONNAMEN.dwYBitMask
Máscara para bits Y.
DUMMYUNIONNAMEN.dwStencilBitDepth
Profundidad de bits del búfer de galería de símbolos. Este miembro especifica cuántos bits se reservan dentro de cada píxel del búfer z para la información de galería de símbolos (el número total de bits z es igual a dwZBufferBitDepth menos dwStencilBitDepth).
DUMMYUNIONNAMEN.dwLuminanceBitMask
Máscara para bits de luminancia.
DUMMYUNIONNAMEN.dwBumpDuBitMask
Máscara para bits U-delta de mapa de golpes.
DUMMYUNIONNAMEN.dwOperations
Marcas que especifican las operaciones que se pueden realizar en superficies con el formato de píxel DDPF_D3DFORMAT. Las banderas se definen en Ddrawi.h.
DUMMYUNIONNAMEN.dwGBitMask
Máscara para bits verdes.
DUMMYUNIONNAMEN.dwUBitMask
Máscara para bits U.
DUMMYUNIONNAMEN.dwZBitMask
Máscara para bits z.
DUMMYUNIONNAMEN.dwBumpDvBitMask
Máscara para bits de V-delta de mapa de golpes.
DUMMYUNIONNAMEN.MultiSampleCaps
Estructura que contiene los dos miembros siguientes. Esta estructura se usa para especificar superficies que se pueden usar al realizar la representación multimuestra. Cada bit de las máscaras de 16 bits indica la compatibilidad con el muestreo múltiple con un número específico de muestras. Por ejemplo, el bit 0 indica la compatibilidad con el muestreo múltiple con solo una muestra, el bit 1 indica la compatibilidad del muestreo múltiple con dos muestras, etc. El controlador puede indicar más de un nivel admitido mediante la combinación de los bits mediante un or bit a bit.
DUMMYUNIONNAMEN.MultiSampleCaps.wFlipMSTypes
Máscara de 16 bits para el muestreo múltiple en modo de pantalla completa (volteo).
DUMMYUNIONNAMEN.MultiSampleCaps.wBltMSTypes
Máscara de 16 bits para el muestreo múltiple en modo de bloqueo de bits (ventana).
DUMMYUNIONNAMEN.dwBBitMask
Máscara para bits azules.
DUMMYUNIONNAMEN.dwVBitMask
Máscara para bits V.
DUMMYUNIONNAMEN.dwStencilBitMask
Máscara para bits de galería de símbolos dentro de cada píxel de búfer z.
DUMMYUNIONNAMEN.dwBumpLuminanceBitMask
Máscara para la luminancia en un píxel de mapa de golpes.
DUMMYUNIONNAMEN.dwRGBAlphaBitMask
Máscara RGB para el canal alfa.
DUMMYUNIONNAMEN.dwYUVAlphaBitMask
Máscara YUV para el canal alfa.
DUMMYUNIONNAMEN.dwLuminanceAlphaBitMask
Máscara de luminancia para el canal alfa.
DUMMYUNIONNAMEN.dwRGBZBitMask
Máscara RGB para el canal z.
DUMMYUNIONNAMEN.dwYUVZBitMask
Máscara YUV para el canal z.
Comentarios
El miembro dwAlphaBitDepth refleja la profundidad de bits de un formato de píxeles de solo alfa (DDPF_ALPHA). Para los formatos de píxeles que incluyen el componente alfa con componentes de color (DDPF_ALPHAPIXELS), la profundidad del bit alfa se obtiene contando los bits de los distintos miembros de máscara. En el ejemplo de código siguiente se devuelve el número de bits establecido en una máscara de bits determinada.
WORD GetNumberOfBits( DWORD dwMask )
{
WORD wBits = 0;
while( dwMask )
{
dwMask = dwMask & ( dwMask - 1 );
wBits++;
}
return wBits;
}
Las uniones de DDPIXELFORMAT se han actualizado para trabajar con compiladores que no admiten uniones sin nombre. Si el compilador no admite uniones sin nombre, defina el token NONAMELESSUNION antes de incluir el archivo de encabezado Ddraw.h.
Requisitos
Encabezado | ddraw.h |