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) |