Compartilhar via


Estrutura D3DCAPS9 (d3d9caps.h)

Representa os recursos do hardware exposto por meio do objeto Direct3D.

Sintaxe

typedef struct _D3DCAPS9 {
  D3DDEVTYPE        DeviceType;
  UINT              AdapterOrdinal;
  DWORD             Caps;
  DWORD             Caps2;
  DWORD             Caps3;
  DWORD             PresentationIntervals;
  DWORD             CursorCaps;
  DWORD             DevCaps;
  DWORD             PrimitiveMiscCaps;
  DWORD             RasterCaps;
  DWORD             ZCmpCaps;
  DWORD             SrcBlendCaps;
  DWORD             DestBlendCaps;
  DWORD             AlphaCmpCaps;
  DWORD             ShadeCaps;
  DWORD             TextureCaps;
  DWORD             TextureFilterCaps;
  DWORD             CubeTextureFilterCaps;
  DWORD             VolumeTextureFilterCaps;
  DWORD             TextureAddressCaps;
  DWORD             VolumeTextureAddressCaps;
  DWORD             LineCaps;
  DWORD             MaxTextureWidth;
  DWORD             MaxTextureHeight;
  DWORD             MaxVolumeExtent;
  DWORD             MaxTextureRepeat;
  DWORD             MaxTextureAspectRatio;
  DWORD             MaxAnisotropy;
  float             MaxVertexW;
  float             GuardBandLeft;
  float             GuardBandTop;
  float             GuardBandRight;
  float             GuardBandBottom;
  float             ExtentsAdjust;
  DWORD             StencilCaps;
  DWORD             FVFCaps;
  DWORD             TextureOpCaps;
  DWORD             MaxTextureBlendStages;
  DWORD             MaxSimultaneousTextures;
  DWORD             VertexProcessingCaps;
  DWORD             MaxActiveLights;
  DWORD             MaxUserClipPlanes;
  DWORD             MaxVertexBlendMatrices;
  DWORD             MaxVertexBlendMatrixIndex;
  float             MaxPointSize;
  DWORD             MaxPrimitiveCount;
  DWORD             MaxVertexIndex;
  DWORD             MaxStreams;
  DWORD             MaxStreamStride;
  DWORD             VertexShaderVersion;
  DWORD             MaxVertexShaderConst;
  DWORD             PixelShaderVersion;
  float             PixelShader1xMaxValue;
  DWORD             DevCaps2;
  float             MaxNpatchTessellationLevel;
  DWORD             Reserved5;
  UINT              MasterAdapterOrdinal;
  UINT              AdapterOrdinalInGroup;
  UINT              NumberOfAdaptersInGroup;
  DWORD             DeclTypes;
  DWORD             NumSimultaneousRTs;
  DWORD             StretchRectFilterCaps;
  D3DVSHADERCAPS2_0 VS20Caps;
  D3DPSHADERCAPS2_0 PS20Caps;
  DWORD             VertexTextureFilterCaps;
  DWORD             MaxVShaderInstructionsExecuted;
  DWORD             MaxPShaderInstructionsExecuted;
  DWORD             MaxVertexShader30InstructionSlots;
  DWORD             MaxPixelShader30InstructionSlots;
} D3DCAPS9;

Membros

DeviceType

Tipo: D3DDEVTYPE

Membro do tipo enumerado D3DDEVTYPE , que identifica que tipo de recursos são usados para processar vértices.

AdapterOrdinal

Tipo: UINT

Adaptador no qual este dispositivo Direct3D foi criado. Esse ordinal é válido apenas para passar para métodos da interface IDirect3D9 que criou esse dispositivo Direct3D. A interface IDirect3D9 sempre pode ser recuperada chamando GetDirect3D.

Caps

Tipo: DWORD

A funcionalidade específica do driver a seguir.

Valor Significado
D3DCAPS_READ_SCANLINE
O hardware de exibição é capaz de retornar a linha de verificação atual.
D3DCAPS_OVERLAY
O driver de exibição dá suporte a uma DDI de sobreposição que permite a verificação de recursos de sobreposição. Para obter mais informações sobre a DDI de sobreposição, consulte Sobrepor DDI.
Diferenças entre Direct3D 9 e Direct3D 9Ex:

Esse sinalizador está disponível somente no Direct3D 9Ex.

 

Caps2

Tipo: DWORD

Funcionalidades específicas do driver identificadas no D3DCAPS2.

Caps3

Tipo: DWORD

Funcionalidades específicas do driver identificadas no D3DCAPS3.

PresentationIntervals

Tipo: DWORD

Máscara de bits de valores que representam quais intervalos de troca de apresentação estão disponíveis.

Valor Significado
D3DPRESENT_INTERVAL_IMMEDIATE
O driver dá suporte a um intervalo de troca de apresentação imediato.
D3DPRESENT_INTERVAL_ONE
O driver dá suporte a um intervalo de troca de apresentação de cada atualização de tela.
D3DPRESENT_INTERVAL_TWO
O driver dá suporte a um intervalo de troca de apresentação de cada segunda atualização de tela.
D3DPRESENT_INTERVAL_THREE
O driver dá suporte a um intervalo de troca de apresentação de cada terceira atualização de tela.
D3DPRESENT_INTERVAL_FOUR
O driver dá suporte a um intervalo de troca de apresentação de cada quarta atualização de tela.

CursorCaps

Tipo: DWORD

Máscara de bits que indica qual suporte de hardware está disponível para cursores. O Direct3D 9 não define recursos de cursor de combinação alfa.

Valor Significado
D3DCURSORCAPS_COLOR
Há suporte para um cursor de cor completa no hardware. Especificamente, esse sinalizador indica que o driver dá suporte a pelo menos um cursor de cor de hardware em modos de alta resolução (com linhas de verificação maiores ou iguais a 400).
D3DCURSORCAPS_LOWRES
Há suporte para um cursor de cor completa no hardware. Especificamente, esse sinalizador indica que o driver dá suporte a um cursor de cor de hardware em modos de alta resolução e baixa resolução (com linhas de verificação inferiores a 400).

DevCaps

Tipo: DWORD

Sinalizadores que identificam os recursos do dispositivo.

Valor Significado
D3DDEVCAPS_CANBLTSYSTONONLOCAL
O dispositivo dá suporte a blits de texturas de memória do sistema a texturas de memória de vídeo não local.
D3DDEVCAPS_CANRENDERAFTERFLIP
O dispositivo pode enfileirar comandos de renderização após uma inversão de página. Os aplicativos não alterarão seu comportamento se esse sinalizador estiver definido; essa funcionalidade significa que o dispositivo é relativamente rápido.
D3DDEVCAPS_DRAWPRIMITIVES2
O dispositivo pode dar suporte a pelo menos um driver compatível com DirectX 5.
D3DDEVCAPS_DRAWPRIMITIVES2EX
O dispositivo pode dar suporte a pelo menos um driver compatível com DirectX 7.
D3DDEVCAPS_DRAWPRIMTLVERTEX
O dispositivo exporta um hal IDirect3DDevice9::D rawPrimitive-aware.
D3DDEVCAPS_EXECUTESYSTEMMEMORY
O dispositivo pode usar buffers de execução da memória do sistema.
D3DDEVCAPS_EXECUTEVIDEOMEMORY
O dispositivo pode usar buffers de execução da memória de vídeo.
D3DDEVCAPS_HWRASTERIZATION
O dispositivo tem aceleração de hardware para rasterização de cena.
D3DDEVCAPS_HWTRANSFORMANDLIGHT
O dispositivo pode dar suporte à transformação e à iluminação no hardware.
D3DDEVCAPS_NPATCHES
O dispositivo dá suporte a N patches.
D3DDEVCAPS_PUREDEVICE
O dispositivo pode dar suporte à rasterização, transformação, iluminação e sombreamento em hardware.
D3DDEVCAPS_QUINTICRTPATCHES
O dispositivo dá suporte a curvas Bézier quintic e B-splines.
D3DDEVCAPS_RTPATCHES
O dispositivo dá suporte a patches retangulares e triangulares.
D3DDEVCAPS_RTPATCHHANDLEZERO
Quando essa funcionalidade de dispositivo é definida, a arquitetura de hardware não requer o cache de nenhuma informação, e os patches não armazenados em cache (identificador zero) serão desenhados com a maior eficiência que os armazenados em cache. Observe que a configuração D3DDEVCAPS_RTPATCHHANDLEZERO não significa que um patch com o identificador zero possa ser desenhado. Um patch handle-zero sempre pode ser desenhado se esse limite estiver definido ou não.
D3DDEVCAPS_SEPARATETEXTUREMEMORIES
O dispositivo está sendo texturização de pools de memória separados.
D3DDEVCAPS_TEXTURENONLOCALVIDMEM
O dispositivo pode recuperar texturas da memória de vídeo não local.
D3DDEVCAPS_TEXTURESYSTEMMEMORY
O dispositivo pode recuperar texturas da memória do sistema.
D3DDEVCAPS_TEXTUREVIDEOMEMORY
O dispositivo pode recuperar texturas da memória do dispositivo.
D3DDEVCAPS_TLVERTEXSYSTEMMEMORY
O dispositivo pode usar buffers da memória do sistema para vértices transformados e iluminados.
D3DDEVCAPS_TLVERTEXVIDEOMEMORY
O dispositivo pode usar buffers da memória de vídeo para vértices transformados e acesos.

PrimitiveMiscCaps

Tipo: DWORD

Funcionalidades primitivas diversas do driver. Consulte D3DPMISCCAPS.

RasterCaps

Tipo: DWORD

Informações sobre recursos de desenho de raster. Esse membro pode ser um ou mais dos sinalizadores a seguir.

Valor Significado
D3DPRASTERCAPS_ANISOTROPY
O dispositivo dá suporte à filtragem anisotrópica.
D3DPRASTERCAPS_COLORPERSPECTIVE
O dispositivo itera a perspectiva de cores corretamente.
D3DPRASTERCAPS_DITHER
O dispositivo pode dither para melhorar a resolução de cores.
D3DPRASTERCAPS_DEPTHBIAS
O dispositivo dá suporte ao viés de profundidade herdado. Para ver o verdadeiro viés de profundidade, consulte D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS.
D3DPRASTERCAPS_FOGRANGE
O dispositivo dá suporte à neblina baseada em intervalo. Na neblina baseada em intervalo, a distância de um objeto do visualizador é usada para calcular efeitos de neblina, não a profundidade do objeto (ou seja, a coordenada z) na cena.
D3DPRASTERCAPS_FOGTABLE
O dispositivo calcula o valor de neblina referindo-se a uma tabela de pesquisa que contém valores de neblina indexados à profundidade de um determinado pixel.
D3DPRASTERCAPS_FOGVERTEX
O dispositivo calcula o valor de neblina durante a operação de iluminação e interpola o valor de neblina durante a rasterização.
D3DPRASTERCAPS_MIPMAPLODBIAS
O dispositivo dá suporte a ajustes de viés de nível de detalhes. Esses ajustes de viés permitem que um aplicativo faça um mipmap parecer mais nítido ou menos afiado do que normalmente faria. Para obter mais informações sobre o viés de nível de detalhes em mipmaps, consulte D3DSAMP_MIPMAPLODBIAS.
D3DPRASTERCAPS_MULTISAMPLE_TOGGLE
O dispositivo dá suporte à ativação e desativação múltiplas entre IDirect3DDevice9::BeginScene e IDirect3DDevice9::EndScene (usando D3DRS_MULTISAMPLEANTIALIAS).
D3DPRASTERCAPS_SCISSORTEST
O dispositivo dá suporte ao teste de tesoura. Consulte Teste de tesoura (Direct3D 9).
D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS
O dispositivo executa um verdadeiro viés de profundidade baseado em escala de inclinação. Isso contrasta com o viés de profundidade de estilo herdado.
D3DPRASTERCAPS_WBUFFER
O dispositivo dá suporte ao buffer de profundidade usando w.
D3DPRASTERCAPS_WFOG
O dispositivo dá suporte à neblina baseada em w. A neblina baseada em W é usada quando uma matriz de projeção de perspectiva é especificada, mas as projeções de affine ainda usam neblina baseada em z. O sistema considera uma matriz de projeção que contém um valor diferente de zero no elemento [3][4] como uma matriz de projeção de perspectiva.
D3DPRASTERCAPS_ZBUFFERLESSHSR
O dispositivo pode executar hsr (remoção de superfície oculta) sem exigir que o aplicativo classifique polígonos e sem exigir a alocação de um buffer de profundidade. Isso deixa mais memória de vídeo para texturas. O método usado para executar o HSR depende de hardware e é transparente para o aplicativo.

O HSR sem buffer Z será executado se nenhuma superfície de buffer de profundidade estiver associada à superfície de destino de renderização e o teste de comparação de buffer de profundidade estiver habilitado (ou seja, quando o valor de estado associado à constante de enumeração D3DRS_ZENABLE for definido como TRUE).

D3DPRASTERCAPS_ZFOG
O dispositivo dá suporte à neblina baseada em z.
D3DPRASTERCAPS_ZTEST
O dispositivo pode executar operações de teste z. Isso renderiza efetivamente um primitivo e indica se algum pixel z foi renderizado.

ZCmpCaps

Tipo: DWORD

Recursos de comparação do buffer Z. Esse membro pode ser um ou mais dos sinalizadores a seguir.

Valor Significado
D3DPCMPCAPS_ALWAYS
Sempre passe no teste z.
D3DPCMPCAPS_EQUAL
Passe no teste z se o novo z for igual ao z atual.
D3DPCMPCAPS_GREATER
Passe no teste z se o novo z for maior que o z atual.
D3DPCMPCAPS_GREATEREQUAL
Passe no teste z se o novo z for maior ou igual ao z atual.
D3DPCMPCAPS_LESS
Passe no teste z se o novo z for menor que o z atual.
D3DPCMPCAPS_LESSEQUAL
Passe no teste z se o novo z for menor ou igual ao z atual.
D3DPCMPCAPS_NEVER
Sempre falha no teste z.
D3DPCMPCAPS_NOTEQUAL
Passe no teste z se o novo z não for igual ao z atual.

SrcBlendCaps

Tipo: DWORD

Recursos de combinação de origem. Esse membro pode ser um ou mais dos sinalizadores a seguir. (Os valores RGBA da origem e do destino são indicados pelos subscritos s e d.)

Valor Significado
D3DPBLENDCAPS_BLENDFACTOR
O driver dá suporte a D3DBLEND_BLENDFACTOR e D3DBLEND_INVBLENDFACTOR. Consulte D3DBLEND.
D3DPBLENDCAPS_BOTHINVSRCALPHA
O fator de combinação de origem é (1 - Como, 1 - Como, 1 - As) e o fator de combinação de destino é (As, As, As, As); a seleção de combinação de destino é substituída.
D3DPBLENDCAPS_BOTHSRCALPHA
O driver dá suporte ao modo de combinação D3DBLEND_BOTHSRCALPHA. (Esse modo de combinação é obsoleto. Para obter mais informações, consulte D3DBLEND.)
D3DPBLENDCAPS_DESTALPHA
O fator blend é (Ad, Ad, Ad, Ad).
D3DPBLENDCAPS_DESTCOLOR
O fator blend é (Rd, Gd, Bd, Ad).
D3DPBLENDCAPS_INVDESTALPHA
O fator blend é (1 - Ad, 1 - Ad, 1 - Ad, 1 - Ad).
D3DPBLENDCAPS_INVDESTCOLOR
O fator blend é (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad).
D3DPBLENDCAPS_INVSRCALPHA
O fator blend é (1 - As, 1 - As, 1 - As, 1 - As).
D3DPBLENDCAPS_INVSRCCOLOR
O fator blend é (1 - Rs, 1 - Gs, 1 - Bs, 1 - As).
D3DPBLENDCAPS_INVSRCCOLOR2
O fator blend é (1 - PSOutColor[1]r, 1 - PSOutColor[1]g, 1 - PSOutColor[1]b, não usado)). Confira Renderizar mesclagem de destino.
Diferenças entre Direct3D 9 e Direct3D 9Ex:

Esse sinalizador está disponível somente no Direct3D 9Ex.

 
D3DPBLENDCAPS_ONE
O fator blend é (1, 1, 1, 1).
D3DPBLENDCAPS_SRCALPHA
O fator blend é (As, As, As, As).
D3DPBLENDCAPS_SRCALPHASAT
O fator blend é (f, f, f, 1); f = min(As, 1 - Ad).
D3DPBLENDCAPS_SRCCOLOR
O fator blend é (Rs, Gs, Bs, As).
D3DPBLENDCAPS_SRCCOLOR2
O fator blend é (PSOutColor[1]r, PSOutColor[1]g, PSOutColor[1]b, não usado). Confira Renderizar mesclagem de destino.
Diferenças entre Direct3D 9 e Direct3D 9Ex:

Esse sinalizador está disponível somente no Direct3D 9Ex.

 
D3DPBLENDCAPS_ZERO
O fator blend é (0, 0, 0, 0).

DestBlendCaps

Tipo: DWORD

Recursos de mesclagem de destino. Esse membro pode ser os mesmos recursos definidos para o membro SrcBlendCaps.

AlphaCmpCaps

Tipo: DWORD

Funcionalidades de comparação de teste alfa. Esse membro pode incluir os mesmos sinalizadores de funcionalidade definidos para o membro ZCmpCaps. Se esse membro contiver apenas a funcionalidade de D3DPCMPCAPS_ALWAYS ou apenas a funcionalidade de D3DPCMPCAPS_NEVER, o driver não oferecerá suporte a testes alfa. Caso contrário, os sinalizadores identificam as comparações individuais com suporte para testes alfa.

ShadeCaps

Tipo: DWORD

Recursos de operações de sombreamento. Supõe-se, em geral, que, se um dispositivo der suporte a um determinado comando, ele oferecerá suporte ao modo D3DSHADE_FLAT (conforme especificado no tipo enumerado D3DSHADEMODE ). Esse sinalizador especifica se o driver também pode dar suporte ao sombreamento Gouraud e se há suporte para componentes de cor alfa. Quando não há suporte para componentes alfa, o valor alfa das cores geradas é implicitamente 255. Esse é o alfa máximo possível (ou seja, o componente alfa está em intensidade total).

A cor, os realces especular, a neblina e os interpolantes alfa de um triângulo têm sinalizadores de capacidade que um aplicativo pode usar para descobrir como eles são implementados pelo driver de dispositivo.

Esse membro pode ser um ou mais dos sinalizadores a seguir.

Valor Significado
D3DPSHADECAPS_ALPHAGOURAUDBLEND
O dispositivo pode dar suporte a um componente alfa para transparência combinada com Gouraud (o estado D3DSHADE_GOURAUD para o tipo enumerado D3DSHADEMODE). Nesse modo, o componente de cor alfa de um primitivo é fornecido em vértices e interpolado em um rosto junto com os outros componentes de cor.
D3DPSHADECAPS_COLORGOURAUDRGB
O dispositivo pode dar suporte ao sombreamento gouraud colorido. Nesse modo, os componentes de cor por vértice (vermelho, verde e azul) são interpolados em uma face de triângulo.
D3DPSHADECAPS_FOGGOURAUD
O dispositivo pode dar suporte à neblina no modo de sombreamento Gouraud.
D3DPSHADECAPS_SPECULARGOURAUDRGB
O dispositivo dá suporte ao sombreamento gouraud de realces especular.

TextureCaps

Tipo: DWORD

Funcionalidades diversas de mapeamento de textura. Esse membro pode ser um ou mais dos sinalizadores a seguir.

Valor Significado
D3DPTEXTURECAPS_ALPHA
Há suporte para alfa em pixels de textura.
D3DPTEXTURECAPS_ALPHAPALETTE
O dispositivo pode desenhar alfa de paletas de textura.
D3DPTEXTURECAPS_CUBEMAP
Dá suporte a texturas de cubo.
D3DPTEXTURECAPS_CUBEMAP_POW2
O dispositivo requer que os mapas de textura de cubo tenham dimensões especificadas como potências de dois.
D3DPTEXTURECAPS_MIPCUBEMAP
O dispositivo dá suporte a texturas de cubo mipmapped.
D3DPTEXTURECAPS_MIPMAP
O dispositivo dá suporte a texturas mipmapped.
D3DPTEXTURECAPS_MIPVOLUMEMAP
O dispositivo dá suporte a texturas de volume mipmapped.
D3DPTEXTURECAPS_NONPOW2CONDITIONAL
D3DPTEXTURECAPS_POW2 também é definido, dá suporte condicional ao uso de texturas 2D com dimensões que não são potências de dois. Um dispositivo que expõe essa funcionalidade poderá usar essa textura se todos os requisitos a seguir forem atendidos.
  • O modo de endereçamento de textura para o estágio de textura é definido como D3DTADDRESS_CLAMP.
  • O encapsulamento de textura para o estágio de textura está desabilitado (D3DRS_WRAP n definido como 0).
  • O mipmapping não está em uso (use somente filtro de ampliação).
  • Os formatos de textura não devem ser D3DFMT_DXT1 por meio de D3DFMT_DXT5.

Se esse sinalizador não estiver definido e D3DPTEXTURECAPS_POW2 também não estiver definido, o suporte incondicional será fornecido para texturas 2D com dimensões que não são potências de dois.

Uma textura que não é uma potência de dois não pode ser definida em um estágio que será lido com base em uma computação de sombreador (como as instruções bem - ps e texm3x3 - ps nas versões de sombreadores de pixel 1_0 a 1_3). Por exemplo, essas texturas podem ser usadas para armazenar colisões que serão alimentadas em leituras de textura, mas não nos mapas de ambiente que são usados em texbem - ps, texbeml - ps e texm3x3spec - ps. Isso significa que uma textura com dimensões que não são potências de dois não pode ser tratada ou amostrada usando coordenadas de textura computadas dentro do sombreador. Esse tipo de operação é conhecido como uma leitura dependente e não pode ser executado nesses tipos de texturas.

D3DPTEXTURECAPS_NOPROJECTEDBUMPENV
O dispositivo não dá suporte a uma operação projetada de pesquisa de ambiente de colisão em sombreadores de função programáveis e fixos.
D3DPTEXTURECAPS_PERSPECTIVE
Há suporte para texturização de correção de perspectiva.
D3DPTEXTURECAPS_POW2
Se D3DPTEXTURECAPS_NONPOW2CONDITIONAL não estiver definido, todas as texturas deverão ter larguras e alturas especificadas como potências de dois. Esse requisito não se aplica a texturas de cubo ou texturas de volume.

Se D3DPTEXTURECAPS_NONPOW2CONDITIONAL também estiver definido, o oferecerá suporte condicional ao uso de texturas 2D com dimensões que não são potências de dois. Confira D3DPTEXTURECAPS_NONPOW2CONDITIONAL descrição.

Se esse sinalizador não estiver definido e D3DPTEXTURECAPS_NONPOW2CONDITIONAL também não estiver definido, o suporte incondicional será fornecido para texturas 2D com dimensões que não são potências de dois.

D3DPTEXTURECAPS_PROJECTED
Dá suporte ao sinalizador de transformação de textura D3DTTFF_PROJECTED. Quando aplicado, o dispositivo divide as coordenadas de textura transformadas pela última coordenada de textura. Se essa funcionalidade estiver presente, a divisão projetiva ocorrerá por pixel. Se essa funcionalidade não estiver presente, mas a divisão projetiva precisar ocorrer de qualquer maneira, ela será executada por vértice pelo runtime do Direct3D.
D3DPTEXTURECAPS_SQUAREONLY
Todas as texturas devem ser quadradas.
D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE
Os índices de textura não são dimensionados pelo tamanho da textura antes da interpolação.
D3DPTEXTURECAPS_VOLUMEMAP
O dispositivo dá suporte a texturas de volume.
D3DPTEXTURECAPS_VOLUMEMAP_POW2
O dispositivo requer que os mapas de textura de volume tenham dimensões especificadas como potências de dois.

TextureFilterCaps

Tipo: DWORD

Funcionalidades de filtragem de textura para uma textura. Os recursos de filtragem por estágio refletem quais modos de filtragem têm suporte para estágios de textura ao executar a mesclagem de várias texturas. Esse membro pode ser qualquer combinação dos sinalizadores de filtragem de textura por estágio definidos em D3DPTFILTERCAPS.

CubeTextureFilterCaps

Tipo: DWORD

Recursos de filtragem de textura para uma textura de cubo. Os recursos de filtragem por estágio refletem quais modos de filtragem têm suporte para estágios de textura ao executar a mesclagem de várias texturas. Esse membro pode ser qualquer combinação dos sinalizadores de filtragem de textura por estágio definidos em D3DPTFILTERCAPS.

VolumeTextureFilterCaps

Tipo: DWORD

Recursos de filtragem de textura para uma textura de volume. Os recursos de filtragem por estágio refletem quais modos de filtragem têm suporte para estágios de textura ao executar a mesclagem de várias texturas. Esse membro pode ser qualquer combinação dos sinalizadores de filtragem de textura por estágio definidos em D3DPTFILTERCAPS.

TextureAddressCaps

Tipo: DWORD

Recursos de endereçamento de textura para objetos de textura. Esse membro pode ser um ou mais dos sinalizadores a seguir.

Valor Significado
D3DPTADDRESSCAPS_BORDER
O dispositivo dá suporte à configuração de coordenadas fora do intervalo [0.0, 1.0] para a cor da borda, conforme especificado pelo estado do estágio de textura D3DSAMP_BORDERCOLOR.
D3DPTADDRESSCAPS_CLAMP
O dispositivo pode fixar texturas em endereços.
D3DPTADDRESSCAPS_INDEPENDENTUV
O dispositivo pode separar os modos de endereçamento de textura das coordenadas você e v da textura. Essa capacidade corresponde ao D3DSAMP_ADDRESSU e D3DSAMP_ADDRESSV valores de estado de renderização.
D3DPTADDRESSCAPS_MIRROR
O dispositivo pode espelho texturas para endereços.
D3DPTADDRESSCAPS_MIRRORONCE
O dispositivo pode obter o valor absoluto da coordenada de textura (portanto, espelhamento em torno de 0) e, em seguida, fixar ao valor máximo.
D3DPTADDRESSCAPS_WRAP
O dispositivo pode encapsular texturas em endereços.

VolumeTextureAddressCaps

Tipo: DWORD

Recursos de endereçamento de textura para uma textura de volume. Esse membro pode ser um ou mais dos sinalizadores definidos para o membro TextureAddressCaps.

LineCaps

Tipo: DWORD

Define os recursos para primitivos de desenho de linha.

Valor Significado
D3DLINECAPS_ALPHACMP
Dá suporte a comparações de teste alfa.
D3DLINECAPS_ANTIALIAS
Há suporte para linhas suavizadas.
D3DLINECAPS_BLEND
Dá suporte à mesclagem de origem.
D3DLINECAPS_FOG
Dá suporte à neblina.
D3DLINECAPS_TEXTURE
Dá suporte ao mapeamento de textura.
D3DLINECAPS_ZTEST
Dá suporte a comparações de buffer z.

MaxTextureWidth

Tipo: DWORD

Largura máxima de textura para este dispositivo.

MaxTextureHeight

Tipo: DWORD

Altura máxima da textura para este dispositivo.

MaxVolumeExtent

Tipo: DWORD

Valor máximo para qualquer uma das três dimensões (largura, altura e profundidade) de uma textura de volume.

MaxTextureRepeat

Tipo: DWORD

Esse número representa o intervalo máximo dos bits inteiros das coordenadas de textura pós-normalizadas. Uma coordenada de textura é armazenada como um inteiro com sinal de 32 bits usando 27 bits para armazenar a parte inteira e 5 bits para a fração de ponto flutuante. O índice inteiro máximo, 2²⁷, é usado para determinar a coordenada de textura máxima, dependendo de como o hardware faz o dimensionamento de coordenadas de textura.

Alguns hardwares relatam o limite D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE. Para esse caso, o dispositivo adia o dimensionamento das coordenadas de textura pelo tamanho da textura até depois da interpolação e da aplicação do modo de endereço de textura, de modo que o número de vezes que uma textura pode ser encapsulada é fornecido pelo valor inteiro em MaxTextureRepeat.

De maneira menos desejada, em alguns D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE de hardware não é definido e o dispositivo dimensiona as coordenadas de textura pelo tamanho da textura (usando o nível mais alto de detalhes) antes da interpolação. Isso limita o número de vezes que uma textura pode ser encapsulada para MaxTextureRepeat/tamanho da textura.

Por exemplo, suponha que MaxTextureRepeat seja igual a 32k e o tamanho da textura seja 4k. Se o hardware definir D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE, o número de vezes que uma textura pode ser encapsulada será igual a MaxTextureRepeat, que é 32k neste exemplo. Caso contrário, o número de vezes que uma textura pode ser encapsulada é igual a MaxTextureRepeat dividido pelo tamanho da textura, que é de 32k/4k neste exemplo.

MaxTextureAspectRatio

Tipo: DWORD

Taxa de proporção máxima de textura compatível com o hardware, normalmente uma potência de 2.

MaxAnisotropy

Tipo: DWORD

Valor máximo válido para o D3DSAMP_MAXANISOTROPY estado de estágio de textura.

MaxVertexW

Tipo: float

Valor máximo de profundidade baseado em W compatível com o dispositivo.

GuardBandLeft

Tipo: float

Coordenada de espaço na tela da região de recorte de faixa de proteção. As coordenadas dentro desse retângulo, mas fora do retângulo do visor, são recortadas automaticamente.

GuardBandTop

Tipo: float

Coordenada de espaço na tela da região de recorte de faixa de proteção. As coordenadas dentro desse retângulo, mas fora do retângulo do visor, são recortadas automaticamente.

GuardBandRight

Tipo: float

Coordenada de espaço na tela da região de recorte de faixa de proteção. As coordenadas dentro desse retângulo, mas fora do retângulo do visor, são recortadas automaticamente.

GuardBandBottom

Tipo: float

Coordenada de espaço na tela da região de recorte de faixa de proteção. As coordenadas dentro desse retângulo, mas fora do retângulo do visor, são recortadas automaticamente.

ExtentsAdjust

Tipo: float

Número de pixels para ajustar o retângulo de extensões para fora para acomodar kernels suavizadores.

StencilCaps

Tipo: DWORD

Sinalizadores que especificam operações de buffer de estêncil com suporte. 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 (D3DRS_STENCILFAIL, D3DRS_STENCILPASS e D3DRS_STENCILZFAIL).

Para obter mais informações, consulte D3DSTENCILCAPS.

FVFCaps

Tipo: DWORD

Funcionalidades flexíveis de formato de vértice.

Valor Significado
D3DFVFCAPS_DONOTSTRIPELEMENTS
É preferível que elementos de vértice não sejam removidos. Ou seja, se o formato de vértice contiver elementos que não são usados com os estados de renderização atuais, não haverá necessidade de regenerar os vértices. Se esse sinalizador de funcionalidade não estiver presente, remover elementos desnecessários do formato de vértice fornecerá melhor desempenho.
D3DFVFCAPS_PSIZE
O tamanho do ponto é determinado pelo estado de renderização ou pelos dados de vértice. Se um FVF for usado, o tamanho do ponto poderá vir de dados de tamanho de ponto na declaração de vértice. Caso contrário, o tamanho do ponto é determinado pelo estado de renderização D3DRS_POINTSIZE. Se o aplicativo fornecer o tamanho do ponto em ambos (o estado de renderização e a declaração de vértice), os dados de vértice substituirão os dados de estado de renderização.
D3DFVFCAPS_TEXCOORDCOUNTMASK
Mascara o WORD baixo de FVFCaps. Esses bits, convertidos no tipo de dados WORD, descrevem o número total de conjuntos de coordenadas de textura que o dispositivo pode usar simultaneamente para combinação de várias texturas. (Você pode usar até oito conjuntos de coordenadas de textura para qualquer vértice, mas o dispositivo pode se misturar usando apenas o número especificado de conjuntos de coordenadas de textura.)

TextureOpCaps

Tipo: DWORD

Combinação de sinalizadores que descrevem as operações de textura compatíveis com esse dispositivo. Os sinalizadores a seguir são definidos.

Valor Significado
D3DTEXOPCAPS_ADD
Há suporte para a operação de mesclagem de textura D3DTOP_ADD.
D3DTEXOPCAPS_ADDSIGNED
Há suporte para a operação de mesclagem de textura D3DTOP_ADDSIGNED.
D3DTEXOPCAPS_ADDSIGNED2X
Há suporte para a D3DTOP_ADDSIGNED2X operação de mesclagem de textura.
D3DTEXOPCAPS_ADDSMOOTH
Há suporte para a D3DTOP_ADDSMOOTH operação de mesclagem de textura.
D3DTEXOPCAPS_BLENDCURRENTALPHA
Há suporte para a operação de combinação de textura D3DTOP_BLENDCURRENTALPHA.
D3DTEXOPCAPS_BLENDDIFFUSEALPHA
Há suporte para a D3DTOP_BLENDDIFFUSEALPHA operação de mesclagem de textura.
D3DTEXOPCAPS_BLENDFACTORALPHA
Há suporte para a operação de mesclagem de textura D3DTOP_BLENDFACTORALPHA.
D3DTEXOPCAPS_BLENDTEXTUREALPHA
Há suporte para a D3DTOP_BLENDTEXTUREALPHA operação de mesclagem de textura.
D3DTEXOPCAPS_BLENDTEXTUREALPHAPM
Há suporte para a D3DTOP_BLENDTEXTUREALPHAPM operação de mesclagem de textura.
D3DTEXOPCAPS_BUMPENVMAP
Há suporte para a operação de combinação de textura D3DTOP_BUMPENVMAP.
D3DTEXOPCAPS_BUMPENVMAPLUMINANCE
Há suporte para a operação de combinação de textura D3DTOP_BUMPENVMAPLUMINANCE.
D3DTEXOPCAPS_DISABLE
Há suporte para a operação de mesclagem de textura D3DTOP_DISABLE.
D3DTEXOPCAPS_DOTPRODUCT3
Há suporte para a D3DTOP_DOTPRODUCT3 operação de mesclagem de textura.
D3DTEXOPCAPS_LERP
Há suporte para a D3DTOP_LERP operação de mesclagem de textura.
D3DTEXOPCAPS_MODULATE
Há suporte para a D3DTOP_MODULATE operação de mesclagem de textura.
D3DTEXOPCAPS_MODULATE2X
Há suporte para a operação de combinação de textura D3DTOP_MODULATE2X.
D3DTEXOPCAPS_MODULATE4X
Há suporte para a operação de mesclagem de textura D3DTOP_MODULATE4X.
D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR
Há suporte para a D3DTOP_MODULATEALPHA_ADDCOLOR operação de mesclagem de textura.
D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA
Há suporte para a operação de combinação de textura D3DTOP_MODULATECOLOR_ADDALPHA.
D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR
Há suporte para a operação de combinação de textura D3DTOP_MODULATEINVALPHA_ADDCOLOR.
D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA
Há suporte para a operação de combinação de textura D3DTOP_MODULATEINVCOLOR_ADDALPHA.
D3DTEXOPCAPS_MULTIPLYADD
Há suporte para a operação de combinação de textura D3DTOP_MULTIPLYADD.
D3DTEXOPCAPS_PREMODULATE
Há suporte para a D3DTOP_PREMODULATE operação de mesclagem de textura.
D3DTEXOPCAPS_SELECTARG1
Há suporte para a D3DTOP_SELECTARG1 operação de mesclagem de textura.
D3DTEXOPCAPS_SELECTARG2
Há suporte para a operação de mesclagem de textura D3DTOP_SELECTARG2.
D3DTEXOPCAPS_SUBTRACT
Há suporte para a D3DTOP_SUBTRACT operação de mesclagem de textura.

MaxTextureBlendStages

Tipo: DWORD

Número máximo de estágios de mesclagem de textura com suporte no pipeline de funções fixas. Esse valor é o número de liquidificadores disponíveis. No pipeline de pixel programável, isso corresponde ao número de registros de textura exclusivos usados pelas instruções do sombreador de pixel.

MaxSimultaneousTextures

Tipo: DWORD

Número máximo de texturas que podem ser associadas simultaneamente aos estágios do sampler de pipeline de função fixa. Se a mesma textura estiver associada a dois estágios de amostra, ela conta como duas texturas.

Esse valor não tem nenhum significado no pipeline programável em que o número de estágios do sampler é determinado por cada versão do sombreador de pixel. Cada versão do sombreador de pixel também determina o número de instruções de declaração de textura. Consulte Sombreadores de Pixel.

VertexProcessingCaps

Tipo: DWORD

Recursos de processamento de vértice. Para um determinado dispositivo físico, essa funcionalidade pode variar entre dispositivos Direct3D, dependendo dos parâmetros fornecidos para CreateDevice. Consulte D3DVTXPCAPS.

MaxActiveLights

Tipo: DWORD

Número máximo de luzes que podem estar ativas simultaneamente. Para um determinado dispositivo físico, essa funcionalidade pode variar entre dispositivos Direct3D, dependendo dos parâmetros fornecidos para CreateDevice.

MaxUserClipPlanes

Tipo: DWORD

Número máximo de planos de recorte definidos pelo usuário com suporte. Esse membro pode ser 0. Para um determinado dispositivo físico, essa funcionalidade pode variar entre dispositivos Direct3D, dependendo dos parâmetros fornecidos para CreateDevice.

MaxVertexBlendMatrices

Tipo: DWORD

Número máximo de matrizes que esse dispositivo pode aplicar ao executar a combinação de vértice multimatrix. Para um determinado dispositivo físico, essa funcionalidade pode variar entre dispositivos Direct3D, dependendo dos parâmetros fornecidos para CreateDevice.

MaxVertexBlendMatrixIndex

Tipo: DWORD

Valor DWORD que especifica o índice máximo de matriz que pode ser indexado em usando os índices por vértice. O número de matrizes é MaxVertexBlendMatrixIndex + 1, que é o tamanho da paleta de matrizes. Se os normais estiverem presentes nos dados de vértice que precisam ser combinados para iluminação, o número de matrizes será metade do número especificado por esse sinalizador de capacidade. Se MaxVertexBlendMatrixIndex estiver definido como zero, o driver não oferecerá suporte à mesclagem de vértice indexada. Se esse valor não for zero, o intervalo válido de índices será zero por meio de MaxVertexBlendMatrixIndex.

Um valor zero para MaxVertexBlendMatrixIndex indica que o driver não dá suporte a matrizes indexadas.

Quando o processamento de vértice de software é usado, 256 matrizes podem ser usadas para mesclagem de vértice indexada, com ou sem mesclagem normal.

Para um determinado dispositivo físico, essa funcionalidade pode variar entre dispositivos Direct3D, dependendo dos parâmetros fornecidos para CreateDevice.

MaxPointSize

Tipo: float

Tamanho máximo de um primitivo de ponto. Se definido como 1,0f, o dispositivo não oferecerá suporte ao controle de tamanho de ponto. O intervalo é maior ou igual a 1,0f.

MaxPrimitiveCount

Tipo: DWORD

Número máximo de primitivos para cada chamada DrawPrimitive . Existem dois casos:

  • Se MaxPrimitiveCount não for igual a 0xffff, você poderá desenhar no máximo primitivos MaxPrimitiveCount com cada chamada de desenho.
  • No entanto, se MaxPrimitiveCount for igual a 0xffff, você ainda poderá desenhar no máximo o primitivo MaxPrimitiveCount, mas também poderá usar não mais do que maxPrimitiveCount vértices exclusivos (já que cada primitivo pode potencialmente usar três vértices diferentes).

MaxVertexIndex

Tipo: DWORD

Tamanho máximo de índices com suporte para processamento de vértice de hardware. É possível criar buffers de índice de 32 bits; no entanto, você não poderá renderizar com o buffer de índice, a menos que esse valor seja maior que 0x0000FFFF.

MaxStreams

Tipo: DWORD

Número máximo de fluxos de dados simultâneos para SetStreamSource. O intervalo válido é de 1 a 16. Observe que, se esse valor for 0, o driver não será um driver Direct3D 9.

MaxStreamStride

Tipo: DWORD

Passo máximo para SetStreamSource.

VertexShaderVersion

Tipo: DWORD

Dois números que representam o sombreador de vértice main e sub versões. Para obter mais informações sobre as instruções com suporte para cada versão do sombreador de vértice, consulte Versão 1_x, Versão 2_0, Versão 2_0 Estendida ou Versão 3_0.

MaxVertexShaderConst

Tipo: DWORD

O número de registros de sombreador de vértice que são reservados para constantes.

PixelShaderVersion

Tipo: DWORD

Dois números que representam o sombreador de pixel main e sub versões. Para obter mais informações sobre as instruções com suporte para cada versão do sombreador de pixel, consulte Versão 1_x, Versão 2_0, Versão 2_0 Estendida ou Versão 3_0.

PixelShader1xMaxValue

Tipo: float

Valor máximo do componente aritmético do sombreador de pixel. Esse valor indica o intervalo interno de valores com suporte para operações de mesclagem de cores de pixel. Dentro do intervalo para o qual eles relatam, as implementações devem permitir que os dados passem pelo processamento de pixels não modificado (sem alterações). Normalmente, o valor desse membro é um valor absoluto. Por exemplo, um 1.0 indica que o intervalo é -1.0 a 1 e um 8.0 indica que o intervalo é -8.0 a 8.0. O valor deve ser >= 1,0 para qualquer hardware que dê suporte a sombreadores de pixel.

DevCaps2

Tipo: DWORD

Funcionalidades do driver de dispositivo para mosaico adaptável. Para obter mais informações, consulte D3DDEVCAPS2

MaxNpatchTessellationLevel

TBD

Reserved5

TBD

MasterAdapterOrdinal

Tipo: UINT

Esse número indica qual dispositivo é o master para esse subordinado. Esse número é obtido do mesmo espaço que os valores do adaptador.

Para suporte de várias pontas, uma cabeça será indicada como a cabeça master, e todas as outras cabeças na mesma cartão serão denotadas como cabeças subordinadas. Se mais de um adaptador multihead estiver presente em um sistema, o master e seus subordinados de um adaptador multihead serão chamados de grupo.

AdapterOrdinalInGroup

Tipo: UINT

Esse número indica a ordem na qual os cabeçalhos são referenciados pela API. O valor do adaptador master é sempre 0. Esses valores não correspondem aos ordinais do adaptador. Eles se aplicam somente a cabeçalhos dentro de um grupo.

NumberOfAdaptersInGroup

Tipo: UINT

Número de adaptadores nesse grupo de adaptadores (somente se master). Isso será 1 para adaptadores convencionais. O valor será maior que 1 para o adaptador master de um cartão multihead. O valor será 0 para um adaptador subordinado de um cartão multihead. Cada cartão pode ter no máximo um master, mas pode ter muitos subordinados.

DeclTypes

Tipo: DWORD

Uma combinação de um ou mais tipos de dados contidos em uma declaração de vértice. Consulte D3DDTCAPS.

NumSimultaneousRTs

Tipo: DWORD

Número de destinos de renderização simultâneos. Esse número deve ser pelo menos um.

StretchRectFilterCaps

Tipo: DWORD

Combinação de constantes que descrevem as operações compatíveis com o StretchRect. Os sinalizadores que podem ser definidos neste campo são:

Constante Descrição
D3DPTFILTERCAPS_MINFPOINT O dispositivo dá suporte à filtragem de exemplo de ponto para minificar retângulos. Esse tipo de filtro é solicitado chamando StretchRect usando D3DTEXF_POINT.
D3DPTFILTERCAPS_MAGFPOINT O dispositivo dá suporte à filtragem de exemplo de ponto para ampliar retângulos. Esse tipo de filtro é solicitado chamando StretchRect usando D3DTEXF_POINT.
D3DPTFILTERCAPS_MINFLINEAR O dispositivo dá suporte à filtragem de interpolação bilinear para minificar retângulos. Esse tipo de filtro é solicitado chamando StretchRect usando D3DTEXF_LINEAR.
D3DPTFILTERCAPS_MAGFLINEAR O dispositivo dá suporte à filtragem de interpolação bilinear para ampliar retângulos. Esse tipo de filtro é solicitado chamando StretchRect usando D3DTEXF_LINEAR.
 

Para obter mais informações, consulte D3DTEXTUREFILTERTYPE e D3DTEXTUREFILTERTYPE.

VS20Caps

Tipo: D3DVSHADERCAPS2_0

O dispositivo dá suporte à funcionalidade estendida do sombreador de vértice versão 2_0. Confira D3DVSHADERCAPS2_0.

PS20Caps

Tipo: D3DPSHADERCAPS2_0

O dispositivo dá suporte à funcionalidade estendida do sombreador de pixel versão 2_0. Consulte D3DPSHADERCAPS2_0.

VertexTextureFilterCaps

Tipo: DWORD

O dispositivo dá suporte à funcionalidade de filtro de textura do sombreador de vértice. Consulte D3DPTFILTERCAPS.

MaxVShaderInstructionsExecuted

Tipo: DWORD

Número máximo de instruções de sombreador de vértice que podem ser executadas ao usar o controle de fluxo. O número máximo de instruções que podem ser programadas é MaxVertexShader30InstructionSlots.

MaxPShaderInstructionsExecuted

Tipo: DWORD

Número máximo de instruções de sombreador de pixel que podem ser executadas ao usar o controle de fluxo. O número máximo de instruções que podem ser programadas é MaxPixelShader30InstructionSlots.

MaxVertexShader30InstructionSlots

Tipo: DWORD

Número máximo de slots de instrução de sombreador de vértice com suporte. O valor máximo que pode ser definido nesse limite é 32768. Dispositivos que dão suporte a vs_3_0 são necessários para dar suporte a pelo menos 512 slots de instrução.

MaxPixelShader30InstructionSlots

Tipo: DWORD

Número máximo de slots de instrução de sombreador de pixel com suporte. O valor máximo que pode ser definido nesse limite é 32768. Dispositivos que dão suporte a ps_3_0 são necessários para dar suporte a pelo menos 512 slots de instrução.

Comentários

Os membros MaxTextureBlendStages e MaxSimultaneousTextures podem parecer semelhantes, mas contêm informações diferentes. O membro MaxTextureBlendStages contém o número total de estágios de mesclagem de textura compatíveis com o dispositivo atual, e o membro MaxSimultaneousTextures descreve quantos desses estágios podem ter texturas associadas a eles usando o método SetTexture .

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

Em geral, podem ocorrer problemas de desempenho se você usar uma textura e modificá-la durante uma cena. Certifique-se de que nenhuma textura usada no bloco BeginScene e EndScene atual seja removida, a menos que seja absolutamente necessário. No caso de um uso de textura extremamente alto dentro de uma cena, os resultados são indefinidos. Isso ocorre quando você modifica uma textura usada na cena e não há memória de textura sobressalente disponível. Para esses sistemas, o conteúdo do buffer z torna-se inválido no EndScene. Os aplicativos não devem chamar UpdateSurface de ou para o buffer de fundo nesse tipo de hardware dentro de um par BeginScene/EndScene. Além disso, os aplicativos não devem tentar acessar o buffer z se o sinalizador de funcionalidade D3DPRASTERCAPS_ZBUFFERLESSHSR estiver definido. Por fim, os aplicativos não devem bloquear o buffer de fundo ou o buffer z dentro de um par BeginScene/EndScene.

Não há suporte para os sinalizadores a seguir sobre texturas mipmapped no Direct3D 9.

  • D3DPTFILTERCAPS_LINEAR
  • D3DPTFILTERCAPS_LINEARMIPLINEAR
  • D3DPTFILTERCAPS_LINEARMIPNEAREST
  • D3DPTFILTERCAPS_MIPNEAREST
  • D3DPTFILTERCAPS_NEAREST

Requisitos

   
Cabeçalho d3d9caps.h

Confira também

Estruturas Direct3D

Getdevicecaps