Compartilhar via


estrutura DDSCAPS2 (ddraw.h)

A estrutura DDSCAPS2 define recursos adicionais de um objeto de superfície do Microsoft DirectDraw.

Sintaxe

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

Membros

dwCaps

Especifica um conjunto de sinalizadores que representam os recursos da superfície. Os sinalizadores neste membro são idênticos aos do membro correspondente da estrutura deDDSCAPS.

dwCaps2

Especifica um conjunto de sinalizadores que indicam recursos de superfície adicionais. Esse membro pode conter um ou mais dos sinalizadores de funcionalidade a seguir. Cada um desses sinalizadores, exceto DDSCAPS2_TEXTUREMANAGE, é definido pelo aplicativo quando o aplicativo chama seu método CreateSurface.

Bandeira Significado

DDSCAPS2_ADDITIONALPRIMARY

somente o Microsoft DirectX 9.0 e versões posteriores.

Indica que os chefes subordinados de uma placa de várias cabeças não estão mais no controle de sua memória de vídeo depois que superfícies são criadas para essas cabeças subordinadas com este conjunto de bits. Uma vez que essas superfícies são destruídas, cabeças subordinadas recuperam o controle de sua memória. Para obter mais informações, consulte Gerenciamento dede Memória Multiple-Head.

DDSCAPS2_COMMANDBUFFER

Marca um buffer de comando, usado pelo Microsoft Direct3D para comandos em lote.

DDSCAPS2_CUBEMAP

Essa superfície é um mapa de ambiente cúbico. Ao usar esse sinalizador, especifique também o rosto ou os rostos do mapa de ambiente cúbico a ser criado.

DDSCAPS2_CUBEMAP_POSITIVEX

Esse sinalizador é usado com o sinalizador DDSCAPS2_CUBEMAP para criar a face X positiva de um mapa de ambiente cúbico.

DDSCAPS2_CUBEMAP_NEGATIVEX

Esse sinalizador é usado com o sinalizador DDSCAPS2_CUBEMAP para criar a face X negativa de um mapa de ambiente cúbico.

DDSCAPS2_CUBEMAP_POSITIVEY

Esse sinalizador é usado com o sinalizador DDSCAPS2_CUBEMAP para criar a face Y positiva de um mapa de ambiente cúbico.

DDSCAPS2_CUBEMAP_NEGATIVEY

Esse sinalizador é usado com o sinalizador DDSCAPS2_CUBEMAP para criar a face Y negativa de um mapa de ambiente cúbico.

DDSCAPS2_CUBEMAP_POSITIVEZ

Esse sinalizador é usado com o sinalizador DDSCAPS2_CUBEMAP para criar a face Z positiva de um mapa de ambiente cúbico.

DDSCAPS2_CUBEMAP_NEGATIVEZ

Esse sinalizador é usado com o sinalizador DDSCAPS2_CUBEMAP para criar a face Z negativa de um mapa de ambiente cúbico.

DDSCAPS2_CUBEMAP_ALLFACES

Esse sinalizador é usado com o sinalizador DDSCAPS2_CUBEMAP para criar todas as seis faces de um mapa de ambiente cúbico.

DDSCAPS2_D3DTEXTUREMANAGE

A textura é sempre gerenciada pelo Direct3D.

DDSCAPS2_DISCARDBACKBUFFER

somente o DirectX 8.0 e versões posteriores.

Indica que a preservação do buffer de fundo não é necessária. Ele será definido na superfície primária e nos buffers de fundo se o aplicativo tiver definido D3DSWAPEFFECT_DISCARD na API Present. Somente versões posteriores e DirectX 9.0. Indica que a preservação da superfície de estêncil de profundidade não é necessária.

DDSCAPS2_DONOTPERSIST

A superfície gerenciada pode ser perdida com segurança.

DDSCAPS2_ENABLEALPHACHANNEL

somente o DirectX 8.1 e versões posteriores.

Indica criar superfícies que fazem parte de uma cadeia de inversão primária ou que estão em buffers back autônomos. Esse sinalizador ativa o canal alfa. Para obter mais informações, consulte Habilitando canais alfa em buffers Full-Screen back.

DDSCAPS2_EXTENDEDFORMATPRIMARY

somente o DirectX 9.0 e versões posteriores.

Indica a criação de uma superfície primária fictícia para uso com um modo de exibição diferente do padrão. Para obter mais informações, consulte Alternar entre modos padrão e não padrão.

DDSCAPS2_HARDWAREDEINTERLACE

O driver deve converter o sinal entrelaçado em quadros progressivos. Os sinalizadores DDSCAPS_VIDEOPORT e DDSCAPS_OVERLAY nessa estrutura também devem ser definidos.

DDSCAPS2_HINTANTIALIASING

O aplicativo usará a suavização. Esse sinalizador só será válido se o sinalizador de DDSCAPS_3DDEVICE também estiver definido.

DDSCAPS2_HINTDYNAMIC

O aplicativo atualizará a superfície com frequência. Superfícies com esse conjunto de sinalizadores também devem ter o sinalizador DDSCAPS_TEXTURE neste conjunto de estruturas. Esse sinalizador não pode ser usado com os sinalizadores DDSCAPS2_HINTSTATIC ou DDSCAPS2_OPAQUE.

DDSCAPS2_HINTSTATIC

O aplicativo atualizará a superfície com pouca frequência, mas ainda requer acesso. Superfícies com esse conjunto de sinalizadores também devem ter o sinalizador DDSCAPS_TEXTURE neste conjunto de estruturas. Esse sinalizador não pode ser usado com os sinalizadores DDSCAPS2_HINTDYNAMIC ou DDSCAPS2_OPAQUE.

DDSCAPS2_INDEXBUFFER

somente o DirectX 8.0 e versões posteriores.

Marca um buffer de índice, criado e controlado pelo aplicativo.

DDSCAPS2_MIPMAPSUBLEVEL

Ele permite o uso mais fácil de GetAttachedSurface, em vez de EnumAttachedSurfaces, para construções de superfície, como mapas de cubo, em que há mais de uma superfície mipmap anexada à superfície raiz. Isso deve ser definido em todas as superfícies de nível nãotop em um mapa de cubo mipmapped para que uma chamada para GetAttachedSurface possa distinguir entre rostos de nível superior e níveis de mipmap anexados. Esse bit de funcionalidade é ignorado por CreateSurface.

DDSCAPS2_NOTUSERLOCKABLE

somente o DirectX 8.0 e versões posteriores.

Defina nos buffers primário e back se a cadeia de inversão não for bloqueável ou em qualquer destino de renderização que não seja bloqueável. Isso permite que os drivers façam otimização nos bastidores. Observe que ainda é possível bloquear as superfícies, portanto, o driver deve lidar com esses casos, mas esses bloqueios são pouco frequentes e não devem ser rápidos. O driver também pode determinar se o buffer de profundidade/estêncil é bloqueável pela presença desse sinalizador.

DDSCAPS2_NPATCHES

somente o DirectX 8.0 e versões posteriores.

Indica que os dados do buffer de vértice podem ser usados para renderizar n-patches.

DDSCAPS2_OPAQUE

O aplicativo nunca bloqueará, blitá ou atualizará a superfície para o restante do tempo de vida dessa superfície. O driver pode compactar ou reordenar a superfície sem precisar descompactá-la. Superfícies com esse conjunto de sinalizadores também devem ter o sinalizador DDSCAPS_TEXTURE neste conjunto de estruturas. Esse sinalizador não pode ser usado com os sinalizadores DDSCAPS2_HINTDYNAMIC ou DDSCAPS2_HINTSTATIC.

DDSCAPS2_POINTS

somente o DirectX 8.0 e versões posteriores.

Indica que os dados do buffer de vértice podem ser usados para renderizar pontos e sprites de ponto.

DDSCAPS2_RTPATCHES

somente o DirectX 8.0 e versões posteriores.

Indica que os dados do buffer de vértice podem ser usados para renderizar patches rt.

DDSCAPS2_STEREOSURFACELEFT

Essa superfície faz parte de uma cadeia de inversão estéreo. Quando esse sinalizador é definido durante uma chamada CreateSurface, um par de superfícies estéreo é criado para cada buffer na cadeia de inversão primária. Você deve criar uma cadeia de inversão complexa (com buffers de fundo). Você não pode criar um único conjunto de superfícies estéreo. O método Flip requer buffers invertidos, portanto, pelo menos 4 superfícies devem ser criadas.

Além disso, quando esse sinalizador é definido em uma estrutura deDDSURFACEDESCcomo resultado de uma chamada EnumDisplayModes ou GetDisplayMode, ele indica suporte para estéreo nesse modo.

DDSCAPS2_TEXTUREMANAGE

O cliente indica que essa superfície de textura deve ser gerenciada pelo driver, se possível; caso contrário, ele é gerenciado pelo Modo Imediato do Direct3D. Esse sinalizador só pode ser usado para superfícies de textura (DDSCAPS_TEXTURE sinalizador definido no membro do dwCaps). Para obter mais informações, consulte Gerenciamento Automático de Textura na documentação do Modo Imediato do Direct3D.

DDSCAPS2_VERTEXBUFFER

Marca um buffer de vértice explícito, criado e controlado pelo aplicativo.

DDSCAPS2_VOLUME

somente o DirectX 8.0 e versões posteriores.

Esse sinalizador será definido se a textura tiver profundidade além de largura e altura.

dwCaps3

somente as versões DirectX 8.0 e DirectX 8.1.

Especifica o número de exemplos para uma superfície com várias amostras. Esse campo contém um dos valores do tipo enumerado D3DMULTISAMPLE_TYPE. Se uma superfície não for multiplatafa, dwCaps3 terá o valor D3DMULTISAMPLE_NONE (0).

somente o DirectX 9.0 e versões posteriores.

Especifica um conjunto de bits que indicam recursos de superfície adicionais. Esse membro pode ser um OR bit a bit dos bits a seguir.

Bits Significado

Bits na máscara de DDSCAPS3_MULTISAMPLE_MASK (0x00000001FL).

Os primeiros cinco bits de dwCaps3 indicam o número de exemplos para uma superfície de vários exemplos. O número de exemplos pode ser especificado usando um dos valores do tipo enumerado D3DMULTISAMPLE_TYPE. Se uma superfície não for multiplatafa, esse valor será D3DMULTISAMPLE_NONE (0).

Bits na máscara de DDSCAPS3_MULTISAMPLE_QUALITY_MASK (0x0000000E0L).

Os próximos três bits de dwCaps3 indicam o nível de qualidade de exemplos de renderização em uma superfície de vários exemplos. O nível de qualidade deve ser um número de 0 a 7 que represente um nível de qualidade de 1 a 8, respectivamente. Observe que, mesmo que uma superfície não seja multiplatafa (especificada nos primeiros cinco bits usando D3DMULTISAMPLE_NONE), ela ainda poderá ter um nível de qualidade maior que 1 (especificado usando um número maior que 0).

DDSCAPS3_RESERVED1 (0x00000100L)

Reservado

DDSCAPS3_VIDEO (0x00000200L)

Indica que o destino de renderização contém dados de vídeo. Observe que vários destinos de renderização podem ser criados com esse sinalizador e, se dois ou mais desses destinos de renderização pertencerem ao mesmo contexto Direct3D, o driver determina que esses destinos de renderização exibem o mesmo fluxo de vídeo, independentemente de as superfícies de destino de renderização estarem anexadas umas às outras.

DDSCAPS3_LIGHTWEIGHTMIPMAP (0x00000400L)

Indica se essa superfície tem níveis de mip leves

DDSCAPS3_AUTOGENMIPMAP (0x00000800L)

Indica que os subnível de mip para essa superfície são gerados automaticamente.

DDSCAPS3_DMAP (0x00001000L)

Indica uma textura de mapa de deslocamento que pode ser amostrada pelo amostrador de mapa de deslocamento na unidade de mosaico.

DUMMYUNIONNAMEN

N/A

DUMMYUNIONNAMEN.dwCaps4

A palavra baixa é a profundidade de uma textura de volume.

DUMMYUNIONNAMEN.dwVolumeDepth

Especifica a profundidade de bits de textura do volume.

Observações

Essa estrutura é usada pelo driver para relatar os tipos de superfícies compatíveis com o driver. Ele também é preenchido por um aplicativo para especificar o tipo de superfície a ser criada.

Requisitos

Requisito Valor
cabeçalho ddraw.h