Estrutura DDSCAPS (ddraw.h)

A estrutura DDSCAPS define os recursos de um objeto de superfície do Microsoft DirectDraw.

Sintaxe

typedef struct _DDSCAPS {
  DWORD dwCaps;
} DDSCAPS;

Membros

dwCaps

Indica um conjunto de sinalizadores que especificam os recursos da superfície. Esse membro é um OR bit a bit de qualquer um dos seguintes sinalizadores:

Sinalizador Significado

DDSCAPS_3DDEVICE

Essa superfície pode ser usada para renderização 3D. Os aplicativos podem usar esse sinalizador para garantir que um dispositivo que só possa ser renderizado em um determinado heap tenha superfícies fora da tela alocadas do heap correto. Se esse sinalizador estiver definido para um heap, a superfície não será alocada desse heap.

DDSCAPS_ALLOCONLOAD

A memória da superfície não é alocada até que a superfície seja carregada pelo aplicativo usando o método IDirect3DTexture::Load .

DDSCAPS_ALPHA

Esta superfície contém apenas informações alfa.

DDSCAPS_BACKBUFFER

Essa superfície é o buffer traseiro de uma estrutura de inversão de superfície. Normalmente, essa funcionalidade é definida pelo método CreateSurface do aplicativo quando o sinalizador DDSCAPS_FLIP é usado. Somente a superfície que precede imediatamente a superfície DDSCAPS_FRONTBUFFER tem essa capacidade definida. As outras superfícies são identificadas como buffers de fundo pela presença do sinalizador DDSCAPS_FLIP, sua ordem de anexo e a ausência dos recursos de DDSCAPS_FRONTBUFFER e DDSCAPS_BACKBUFFER. Se essa funcionalidade for enviada para o método CreateSurface do aplicativo, um buffer de back autônomo será criado. Depois que esse método for chamado, essa superfície poderá ser anexada a um buffer frontal, outro buffer traseiro ou ambos para formar uma estrutura de superfície invertida. Para obter mais informações, consulte o método AddAttachedSurface no SDK do DirectX. O DirectDraw dá suporte a um número arbitrário de superfícies em uma estrutura invertida.

DDSCAPS_COMPLEX

Uma superfície complexa está sendo descrita. Uma superfície complexa resulta na criação de mais de uma superfície. As superfícies adicionais são anexadas à superfície raiz. A estrutura complexa só pode ser destruída destruindo a raiz.

DDSCAPS_EXECUTEBUFFER

A superfície é um buffer de execução, que é uma parte linear do sistema ou da memória de vídeo que contém uma lista de exibição do Microsoft Direct3D. Um driver relata esse bit de funcionalidade para indicar que ele pode criar buffers de execução na memória de vídeo. Se o runtime do Direct3D detectar esse bit, ele poderá solicitar buffers de execução do driver. Os aplicativos não podem detectar esse bit de funcionalidade.

DDSCAPS_FLIP

Essa superfície faz parte de uma estrutura de inversão de superfície. Quando essa funcionalidade é passada para o método CreateSurface do aplicativo, um buffer frontal e um ou mais buffers traseiros são criados. DirectDraw define o bit DDSCAPS_FRONTBUFFER na superfície do buffer frontal e o bit DDSCAPS_BACKBUFFER na superfície adjacente à superfície do buffer frontal. O membro dwBackBufferCount da estrutura DDSURFACEDESC deve ser definido como pelo menos 1 para que a chamada de método seja bem-sucedida. A funcionalidade DDSCAPS_COMPLEX sempre deve ser definida ao criar várias superfícies usando o método CreateSurface .

DDSCAPS_FRONTBUFFER

Essa superfície é o buffer frontal de uma estrutura de inversão de superfície. Normalmente, esse sinalizador é definido pelo método CreateSurface do aplicativo quando a funcionalidade DDSCAPS_FLIP é definida. Se essa funcionalidade for enviada para o método CreateSurface , um buffer frontal autônomo será criado. Essa superfície não tem a capacidade de DDSCAPS_FLIP. Ele pode ser anexado a outros buffers traseiros para formar uma estrutura invertida usando o método AddAttachedSurface do aplicativo.

DDSCAPS_HWCODEC

Essa superfície deve ser capaz de ter um fluxo descompactado para ele pelo hardware.

DDSCAPS_LIVEVIDEO

Essa superfície deve ser capaz de receber vídeo ao vivo.

DDSCAPS_LOCALVIDMEM

Essa superfície existe na memória de exibição local verdadeira em vez de memória de exibição não local. Se esse sinalizador for especificado, DDSCAPS_VIDEOMEMORY também deverá ser especificado. Esse sinalizador não pode ser usado com o sinalizador DDSCAPS_NONLOCALVIDMEM.

DDSCAPS_MIPMAP

Essa superfície é um nível de mipmap. Essa superfície é anexada a outras superfícies DDSCAPS_MIPMAP para formar o mipmap. Isso pode ser feito explicitamente criando várias superfícies e anexando-as usando o método AddAttachedSurface do aplicativo ou implicitamente pelo método CreateSurface do aplicativo. Se essa funcionalidade estiver definida, DDSCAPS_TEXTURE também deverá ser definido.

DDSCAPS_MODEX

Essa superfície é uma superfície 320x200 ou 320x240 Modo X. Se esse bit de funcionalidade for definido pelo driver Microsoft Windows 2000 ou posterior, o DirectDraw será desabilitado.

DDSCAPS_NONLOCALVIDMEM

Essa superfície existe na memória de exibição não local em vez da memória de exibição local verdadeira. Se esse sinalizador for especificado, DDSCAPS_VIDEOMEMORY sinalizador também deverá ser especificado. Isso não pode ser usado com o sinalizador DDSCAPS_LOCALVIDMEM.

DDSCAPS_OFFSCREENPLAIN

Essa superfície é qualquer superfície fora da tela que não seja uma sobreposição, textura, z-buffer, buffer frontal, buffer traseiro ou superfície alfa. Ele é usado para identificar superfícies simples.

DDSCAPS_OVERLAY

Essa superfície é uma sobreposição. A visibilidade dessa sobreposição depende se ela está sendo sobreposta à superfície primária no momento. DDSCAPS_VISIBLE pode ser usado para determinar se ele está sendo sobreposto no momento.

DDSCAPS_OPTIMIZED

Esse sinalizador não está implementado no momento.

DDSCAPS_OWNDC

Essa superfície terá uma associação de contexto de dispositivo (DC) por um longo período. Se esse bit de funcionalidade for definido pelo driver do Windows 2000 ou posterior, o DirectDraw será desabilitado.

DDSCAPS_PALETTE

Esse driver de dispositivo permite que objetos DirectDrawPalette exclusivos sejam criados e anexados a essa superfície.

DDSCAPS_PRIMARYSURFACE

Essa superfície é a superfície primária. Ele representa o que está visível para o usuário no momento.

DDSCAPS_PRIMARYSURFACELEFT

Essa superfície é a superfície primária para o olho esquerdo. Ele representa o que é visível para o olho esquerdo do usuário no momento. Quando essa superfície é criada, a superfície com a funcionalidade DDSCAPS_PRIMARYSURFACE representa o que é visto pelo olho direito do usuário.

DDSCAPS_STANDARDVGAMODE

Essa superfície é uma superfície de modo VGA padrão e não uma superfície ModeX. Esse sinalizador não pode ser usado em combinação com o sinalizador DDSCAPS_MODEX.

DDSCAPS_SYSTEMMEMORY

Essa memória de superfície foi alocada da memória do sistema. Se esse bit de funcionalidade for definido pelo driver do Windows 2000 ou posterior, o DirectDraw será desabilitado.

DDSCAPS_TEXTURE

Essa superfície pode ser usada como uma textura 3D. Ele não indica se a superfície está sendo usada para essa finalidade.

DDSCAPS_VIDEOMEMORY

Essa superfície existe na memória de exibição.

DDSCAPS_VIDEOPORT

Essa superfície pode receber dados de um objeto VPE (extensões de porta de vídeo ).

DDSCAPS_VISIBLE

As alterações feitas nessa superfície são imediatamente visíveis. Ele é sempre definido para a superfície primária, bem como para sobreposições enquanto eles estão sendo sobrepostos e mapas de textura enquanto estão sendo texturizados.

DDSCAPS_WRITEONLY

Somente o acesso de gravação é permitido à superfície. O acesso de leitura da superfície pode gerar uma GPF (falha de proteção geral), mas os resultados de leitura dessa superfície não são significativos. Se esse bit de funcionalidade for definido pelo driver do Windows 2000 ou posterior, o DirectDraw será desabilitado.

DDSCAPS_ZBUFFER

Essa superfície é o buffer z. Ele contém informações de profundidade de bit que são usadas para determinar quais pixels são visíveis e quais são obscurecidos. O buffer z contém informações que não podem ser exibidas.

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

Requisito Valor
Cabeçalho ddraw.h