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 DDSCAPS .

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, são definidos pelo aplicativo quando o aplicativo chama seu método CreateSurface .

Sinalizador Significado

DDSCAPS2_ADDITIONALPRIMARY

Somente o Microsoft DirectX 9.0 e versões posteriores.

Indica que os chefes subordinados de uma cartão de cabeça múltipla 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 Gerenciando Multiple-Head memória.

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 traseiro não é necessária. Ele será definido na superfície primária e nos buffers traseiros se o aplicativo tiver definido D3DSWAPEFFECT_DISCARD na API Presente. Somente o DirectX 9.0 e versões posteriores. 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 a criação de superfícies que fazem parte de uma cadeia de inversão primária ou que estão em buffers traseiros autônomos. Esse sinalizador ativa o canal alfa. Para obter mais informações, consulte Habilitando canais alfa em buffers de 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 não padrão. Para obter mais informações, consulte Alternando 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 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 nesse 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 exigirá acesso. Superfícies com esse conjunto de sinalizadores também devem ter o sinalizador DDSCAPS_TEXTURE nesse 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 cubos com 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 no primário e nos buffers traseiros 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 a otimização nos bastidores. Observe que ainda é possível bloquear as superfícies para que o driver precise 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 nesse 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 traseiros). Não é possível criar um único conjunto de superfícies estéreo. O método Flip requer buffers de fundo, portanto, pelo menos 4 superfícies devem ser criadas.

Além disso, quando esse sinalizador é definido em uma estrutura DDSURFACEDESC como 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 direct3D. Esse sinalizador só pode ser usado para superfícies de textura (DDSCAPS_TEXTURE sinalizador definido no membro 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 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 amostras 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 multisampled, dwCaps3 terá o valor D3DMULTISAMPLE_NONE (0).

Somente 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 amostras para uma superfície de várias amostras. O número de amostras pode ser especificado usando um dos valores do tipo enumerado D3DMULTISAMPLE_TYPE. Se uma superfície não for multisampled, esse valor será D3DMULTISAMPLE_NONE (0).

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

Os próximos três bits de dwCaps3 indicam o nível de qualidade das amostras de renderização em uma superfície de várias amostras. O nível de qualidade deve ser um número de 0 a 7 que representa um nível de qualidade de 1 a 8, respectivamente. Observe que, mesmo que uma superfície não seja de várias superfícies (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 determinará 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 leves de mip

DDSCAPS3_AUTOGENMIPMAP (0x00000800L)

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

DDSCAPS3_DMAP (0x00001000L)

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

DUMMYUNIONNAMEN

N/D

DUMMYUNIONNAMEN.dwCaps4

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

DUMMYUNIONNAMEN.dwVolumeDepth

Especifica a profundidade de bits da textura do volume.

Comentários

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 criado.

Requisitos

   
Cabeçalho ddraw.h