estrutura D3DHAL_D3DEXTENDEDCAPS (d3dhal.h)

D3DHAL_D3DEXTENDEDCAPS descreve recursos 3D adicionais do driver.

Sintaxe

typedef struct _D3DHAL_D3DEXTENDEDCAPS {
  DWORD    dwSize;
  DWORD    dwMinTextureWidth;
  DWORD    dwMaxTextureWidth;
  DWORD    dwMinTextureHeight;
  DWORD    dwMaxTextureHeight;
  DWORD    dwMinStippleWidth;
  DWORD    dwMaxStippleWidth;
  DWORD    dwMinStippleHeight;
  DWORD    dwMaxStippleHeight;
  DWORD    dwMaxTextureRepeat;
  DWORD    dwMaxTextureAspectRatio;
  DWORD    dwMaxAnisotropy;
  D3DVALUE dvGuardBandLeft;
  D3DVALUE dvGuardBandTop;
  D3DVALUE dvGuardBandRight;
  D3DVALUE dvGuardBandBottom;
  D3DVALUE dvExtentsAdjust;
  DWORD    dwStencilCaps;
  DWORD    dwFVFCaps;
  DWORD    dwTextureOpCaps;
  WORD     wMaxTextureBlendStages;
  WORD     wMaxSimultaneousTextures;
  DWORD    dwMaxActiveLights;
  D3DVALUE dvMaxVertexW;
  WORD     wMaxUserClipPlanes;
  WORD     wMaxVertexBlendMatrices;
  DWORD    dwVertexProcessingCaps;
  DWORD    dwReserved1;
  DWORD    dwReserved2;
  DWORD    dwReserved3;
  DWORD    dwReserved4;
} D3DHAL_D3DEXTENDEDCAPS;

Membros

dwSize

Especifica o tamanho em bytes dessa estrutura D3DHAL_D3DEXTENDEDCAPS.

dwMinTextureWidth

Especifique a largura mínima da textura, em pixels, compatível com o driver ou dispositivo. Esse membro normalmente é uma potência de 2. Esses membros são fornecidos como dicas para o aplicativo e é responsabilidade do aplicativo ajustar tamanhos de textura quando necessário.

dwMaxTextureWidth

Especifique a largura máxima da textura, em pixels, compatível com o driver ou dispositivo. Esse membro normalmente é uma potência de 2. Esses membros são fornecidos como dicas para o aplicativo e é responsabilidade do aplicativo ajustar tamanhos de textura quando necessário.

dwMinTextureHeight

Especifique a altura mínima da textura, em pixels, compatível com o driver. Esse membro normalmente é uma potência de 2.

dwMaxTextureHeight

Especifique a altura máxima da textura, em pixels, compatível com o driver. Esse membro normalmente é uma potência de 2.

dwMinStippleWidth

Especifique a largura mínima da dica, em pixels, com suporte do driver.

dwMaxStippleWidth

Especifique a largura máxima da dica, em pixels, com suporte do driver.

dwMinStippleHeight

Especifique a altura mínima da dica, em pixels, com suporte do driver.

dwMaxStippleHeight

Especifique a altura máxima de stipple, em pixels, compatível com o driver.

dwMaxTextureRepeat

Especifica o intervalo completo de bits inteiros (subfracionais) dos índices de textura pós-normalizados. Se o D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE bit estiver definido, o número de vezes que uma textura pode ser encapsulada será especificado por esse membro. Se o D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE bit não estiver definido, o número de vezes que uma textura pode ser encapsulada será dado pela expressão: dwMaxTextureRepeat * (tamanho da textura).

dwMaxTextureAspectRatio

Especifica a taxa máxima de proporção de textura compatível com o hardware. Esse membro normalmente é uma potência de 2. Essa taxa de proporção máxima é fornecida como uma medida da altura da textura em pixels divididos por sua largura em pixels, ou sua largura dividida por altura, o que produzir o resultado maior. Por exemplo, uma textura de 8192 pixels de largura por 1 pixel de altura ou 1 pixel de largura por 8192 de altura é inválida com um dispositivo de exibição que dá suporte apenas a uma taxa de proporção máxima de 4092. Se o hardware não estiver limitado na taxa de proporção, dwMaxTextureAspectRatio será o maior de dwMaxTextureWidth e dwMaxTextureHeight.

dwMaxAnisotropy

Especifica o valor máximo válido para o estado de renderização D3DRENDERSTATE_ANISOTROPY. Se o hardware do driver não der suporte à filtragem anisotrópica, o driver deverá definir esse membro como 1. Definir esse membro como 0 representa um valor inválido.

dvGuardBandLeft

dvGuardBandTop

dvGuardBandRight

dvGuardBandBottom

Especifique as coordenadas de espaço na tela, em pixels, da região de clipe de faixa de proteção. O canto superior esquerdo deste retângulo tem coordenadas (dvGuardBandLeft, dvGuardBandTop). O canto inferior esquerdo tem coordenadas (dvGuardBandRight, dvGuardBandBottom). As coordenadas dentro desse retângulo, mas fora do retângulo do visor, são recortadas automaticamente.

dvExtentsAdjust

Especifica o número de pixels necessários para ajustar o retângulo de extensões para fora para acomodar kernels de suavização.

dwStencilCaps

Especifica as operações de buffer de estêncil compatíveis com o driver ou dispositivo. Para obter mais descrições das operações de buffer de estêncil mostradas na tabela a seguir, consulte D3DSTENCILOP na documentação do SDK do DirectX. As operações de estêncil são consideradas válidas para todos os três estados de renderização de operação de buffer de estêncil (D3DRENDERSTATE_STENCILFAIL, D3DRENDERSTATE_STENCILPASS e D3DRENDERSTATE_STENCILZFAIL). Esse membro pode ser um OR bit a bit de qualquer um dos seguintes valores:

Valor Operação de buffer de estêncil
D3DSTENCILCAPS_DECR Há suporte para a operação de D3DSTENCILOP_DECR.
D3DSTENCILCAPS_DECRSAT Há suporte para a operação de D3DSTENCILOP_DECRSAT.
D3DSTENCILCAPS_INCR Há suporte para a operação de D3DSTENCILOP_INCR.
D3DSTENCILCAPS_INCRSAT Há suporte para a operação D3DSTENCILOP_INCRSAT.
D3DSTENCILCAPS_INVERT Há suporte para a operação de D3DSTENCILOP_INVERT.
D3DSTENCILCAPS_KEEP Há suporte para a operação de D3DSTENCILOP_KEEP.
D3DSTENCILCAPS_REPLACE Há suporte para a operação de D3DSTENCILOP_REPLACE.
D3DSTENCILCAPS_ZERO Há suporte para a operação D3DSTENCILOP_ZERO.

dwFVFCaps

Especifica o número de coordenadas de textura que o driver pode processar. Esse valor pode ser um inteiro no intervalo de 0 a 8, onde 0 indica que o driver não dá suporte à texturização, 1 indica que o driver pode processar apenas um conjunto de coordenadas de textura, 2 indica que o driver pode processar dois conjuntos de coordenadas de textura e assim por diante.

Um driver deve ser capaz de analisar todas as coordenadas de textura presentes nos dados de vértice, independentemente do número de coordenadas de textura que o driver realmente usa. O driver deve usar o índice fornecido com o valor D3DTSS_TEXCOORDINDEX da enumeração D3DTEXTURESTAGESTATETYPE, descrita na documentação do SDK do DirectX, para determinar qual coordenada de textura deve ser usada ao renderizar.

dwTextureOpCaps

Especifica as operações de textura compatíveis com o dispositivo. Consulte D3DTEXTUREOP na documentação do SDK do DirectX para obter descrições das operações de textura listadas na tabela a seguir. Esse membro pode ser um OR bit a bit dos seguintes valores:

Valor Operação de textura com suporte
D3DTEXOPCAPS_ADD A operação de mesclagem de textura D3DTOP_ADD é compatível com esse dispositivo.
D3DTEXOPCAPS_ADDSIGNED A operação de mesclagem de textura D3DTOP_ADDSIGNED é compatível com este dispositivo.
D3DTEXOPCAPS_ADDSIGNED2X A operação de mesclagem de textura D3DTOP_ADDSIGNED2X é compatível com esse dispositivo.
D3DTEXOPCAPS_ADDSMOOTH A operação de mesclagem de textura D3DTOP_ADDSMOOTH é compatível com esse dispositivo.
D3DTEXOPCAPS_BLENDCURRENTALPHA A operação de mesclagem de textura D3DTOP_BLENDCURRENTALPHA é compatível com esse dispositivo.
D3DTEXOPCAPS_BLENDDIFFUSEALPHA A operação de mesclagem de textura D3DTOP_BLENDDIFFUSEALPHA é compatível com esse dispositivo.
D3DTEXOPCAPS_BLENDFACTORALPHA A D3DTOP_BLENDFACTORALPHA operação de mesclagem de textura é compatível com este dispositivo.
D3DTEXOPCAPS_BLENDTEXTUREALPHA A operação de mesclagem de textura D3DTOP_BLENDTEXTUREALPHA é compatível com esse dispositivo.
D3DTEXOPCAPS_BLENDTEXTUREALPHAPM A operação de mesclagem de textura D3DTOP_BLENDTEXTUREALPHAPM é compatível com esse dispositivo.
D3DTEXOPCAPS_BUMPENVMAP. A operação de mesclagem de textura D3DTOP_BUMPENVMAP é compatível com esse dispositivo.
D3DTEXOPCAPS_BUMPENVMAPLUMINANCE A operação de mesclagem de textura D3DTOP_BUMPENVMAPLUMINANCE é compatível com este dispositivo.
D3DTEXOPCAPS_DISABLE A operação de mesclagem de textura D3DTOP_DISABLE é compatível com esse dispositivo.
D3DTEXOPCAPS_DOTPRODUCT3 A operação de mesclagem de textura D3DTOP_DOTPRODUCT3 é compatível com esse dispositivo.
D3DTEXOPCAPS_MODULATE A operação de mesclagem de textura D3DTOP_MODULATE é compatível com este dispositivo.
D3DTEXOPCAPS_MODULATE2X A operação de mesclagem de textura D3DTOP_MODULATE2X é compatível com esse dispositivo.
D3DTEXOPCAPS_MODULATE4X O D3DTOP_MODULATE4X operação de mesclagem de textura é compatível com este dispositivo.
D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR O D3DTOP_MODULATEALPHA_ADDCOLOR operação de mesclagem de textura é compatível com este dispositivo.
D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA O D3DTOP_MODULATEALPHA_ADDCOLOR operação de mesclagem de textura é compatível com este dispositivo.
D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR O D3DTOP_MODULATEINVALPHA_ADDCOLOR operação de mesclagem de textura é compatível com este dispositivo.
D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA O D3DTOP_MODULATEINVCOLOR_ADDALPHA operação de mesclagem de textura é compatível com este dispositivo.
D3DTEXOPCAPS_PREMODULATE O D3DTOP_PREMODULATE operação de mesclagem de textura é compatível com este dispositivo.
D3DTEXOPCAPS_SELECTARG1 O D3DTOP_SELECTARG1 operação de mesclagem de textura é compatível com este dispositivo.
D3DTEXOPCAPS_SELECTARG2 O D3DTOP_SELECTARG2 operação de mesclagem de textura é compatível com este dispositivo.
D3DTEXOPCAPS_SUBTRACT O D3DTOP_SUBTRACT operação de mesclagem de textura é compatível com este dispositivo.

wMaxTextureBlendStages

Especifica o número máximo de estágios de mesclagem de textura com suporte neste dispositivo.

wMaxSimultaneousTextures

Especifica o número máximo de texturas que podem ser associadas simultaneamente aos estágios de mesclagem de textura para este dispositivo. Ou seja, wMaxSimultaneousTextures especifica quantos dos estágios de textura podem ter texturas associadas a elas por meio do método lDirect3DDevice7::SetTexture . Consulte a documentação do SDK do Microsoft Windows para obter mais informações sobre esse método.

dwMaxActiveLights

Especifica o número máximo de luzes ativas com suporte neste dispositivo. Isso só precisa ser especificado em drivers que dão suporte à transformação e iluminação de hardware (e, portanto, especificar D3DDEVCAPS_HWTRANSFORMANDLIGHT em suas tampas de dispositivo).

dvMaxVertexW

Especifica o intervalo máximo de W com suporte neste dispositivo. Isso só precisa ser especificado em drivers que dão suporte ao buffer W (e, portanto, especificar D3DPRASTERCAPS_WBUFFER em suas tampas de rasterização). As unidades para valores de profundidade W dependem do aplicativo em execução. Por exemplo, o aplicativo pode especificar profundidade em metros.

wMaxUserClipPlanes

Especifica o número máximo de planos de recorte definidos pelo usuário com suporte.

wMaxVertexBlendMatrices

Especifica o número de matrizes de mundo com suporte para mesclagem de vértice.

dwVertexProcessingCaps

Especifica as tampas de processamento de vértice compatíveis com o driver. Esse membro pode ser um OR bit a bit dos seguintes valores:

Valor Significado
D3DVTXPCAPS_DIRECTIONALLIGHTS O dispositivo pode fazer luzes direcionais.
D3DVTXPCAPS_LOCALVIEWER O dispositivo pode fazer visualizador local.
D3DVTXPCAPS_MATERIALSOURCE7 O dispositivo pode executar operações de origem de material de cor do DirectX 7.0.
D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER O dispositivo não dá suporte à geração de textura no modo de visualizador não local.
D3DVTXPCAPS_POSITIONALLIGHTS O dispositivo pode fazer luzes posicionais (inclui ponto e ponto).
D3DVTXPCAPS_TEXGEN O dispositivo pode fazer texgen.
D3DVTXPCAPS_TEXGEN_SPHEREMAP O dispositivo dá suporte a D3DTSS_TCI_SPHEREMAP.
D3DVTXPCAPS_TWEENING O dispositivo pode fazer interpolação de vértice.

dwReserved1

Reservado para uso do sistema.

dwReserved2

Reservado para uso do sistema.

dwReserved3

Reservado para uso do sistema.

dwReserved4

Reservado para uso do sistema.

Comentários

O driver aloca e inicializa zero essa estrutura e define os valores apropriados nos membros aos quais ele dá suporte. A função DdGetDriverInfo do driver retorna um ponteiro para essa estrutura quando essa função é chamada com o GUID GUID_D3DExtendedCaps.

Quando o driver preenche essa estrutura, ele pode definir valores para executar recursos de buffer mesmo quando a interface que está sendo usada para recuperar os recursos (como lDirect3DDevice3) não dá suporte a buffers de execução.

Requisitos

Requisito Valor
Cabeçalho d3dhal.h (inclua D3dhal.h)

Confira também

DdGetDriverInfo