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 | |
---|---|---|
|
O hardware de exibição é capaz de retornar a linha de verificação atual. | |
|
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.
|
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.
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.
DevCaps
Tipo: DWORD
Sinalizadores que identificam os recursos do dispositivo.
Valor | Significado |
---|---|
|
O dispositivo dá suporte a blits de texturas de memória do sistema a texturas de memória de vídeo não local. |
|
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. |
|
O dispositivo pode dar suporte a pelo menos um driver compatível com DirectX 5. |
|
O dispositivo pode dar suporte a pelo menos um driver compatível com DirectX 7. |
|
O dispositivo exporta um hal IDirect3DDevice9::D rawPrimitive-aware. |
|
O dispositivo pode usar buffers de execução da memória do sistema. |
|
O dispositivo pode usar buffers de execução da memória de vídeo. |
|
O dispositivo tem aceleração de hardware para rasterização de cena. |
|
O dispositivo pode dar suporte à transformação e à iluminação no hardware. |
|
O dispositivo dá suporte a N patches. |
|
O dispositivo pode dar suporte à rasterização, transformação, iluminação e sombreamento em hardware. |
|
O dispositivo dá suporte a curvas Bézier quintic e B-splines. |
|
O dispositivo dá suporte a patches retangulares e triangulares. |
|
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. |
|
O dispositivo está sendo texturização de pools de memória separados. |
|
O dispositivo pode recuperar texturas da memória de vídeo não local. |
|
O dispositivo pode recuperar texturas da memória do sistema. |
|
O dispositivo pode recuperar texturas da memória do dispositivo. |
|
O dispositivo pode usar buffers da memória do sistema para vértices transformados e iluminados. |
|
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 |
---|---|
|
O dispositivo dá suporte à filtragem anisotrópica. |
|
O dispositivo itera a perspectiva de cores corretamente. |
|
O dispositivo pode dither para melhorar a resolução de cores. |
|
O dispositivo dá suporte ao viés de profundidade herdado. Para ver o verdadeiro viés de profundidade, consulte D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS. |
|
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. |
|
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. |
|
O dispositivo calcula o valor de neblina durante a operação de iluminação e interpola o valor de neblina durante a rasterização. |
|
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. |
|
O dispositivo dá suporte à ativação e desativação múltiplas entre IDirect3DDevice9::BeginScene e IDirect3DDevice9::EndScene (usando D3DRS_MULTISAMPLEANTIALIAS). |
|
O dispositivo dá suporte ao teste de tesoura. Consulte Teste de tesoura (Direct3D 9). |
|
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. |
|
O dispositivo dá suporte ao buffer de profundidade usando w. |
|
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. |
|
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). |
|
O dispositivo dá suporte à neblina baseada em z. |
|
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.
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 | |
---|---|---|
|
O driver dá suporte a D3DBLEND_BLENDFACTOR e D3DBLEND_INVBLENDFACTOR. Consulte D3DBLEND. | |
|
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. | |
|
O driver dá suporte ao modo de combinação D3DBLEND_BOTHSRCALPHA. (Esse modo de combinação é obsoleto. Para obter mais informações, consulte D3DBLEND.) | |
|
O fator blend é (Ad, Ad, Ad, Ad). | |
|
O fator blend é (Rd, Gd, Bd, Ad). | |
|
O fator blend é (1 - Ad, 1 - Ad, 1 - Ad, 1 - Ad). | |
|
O fator blend é (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad). | |
|
O fator blend é (1 - As, 1 - As, 1 - As, 1 - As). | |
|
O fator blend é (1 - Rs, 1 - Gs, 1 - Bs, 1 - As). | |
|
O fator blend é (1 - PSOutColor[1]r, 1 - PSOutColor[1]g, 1 - PSOutColor[1]b, não usado)). Confira Renderizar mesclagem de destino.
|
|
|
O fator blend é (1, 1, 1, 1). | |
|
O fator blend é (As, As, As, As). | |
|
O fator blend é (f, f, f, 1); f = min(As, 1 - Ad). | |
|
O fator blend é (Rs, Gs, Bs, As). | |
|
O fator blend é (PSOutColor[1]r, PSOutColor[1]g, PSOutColor[1]b, não usado). Confira Renderizar mesclagem de destino.
|
|
|
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.
TextureCaps
Tipo: DWORD
Funcionalidades diversas de mapeamento de textura. Esse membro pode ser um ou mais dos sinalizadores a seguir.
Valor | Significado |
---|---|
|
Há suporte para alfa em pixels de textura. |
|
O dispositivo pode desenhar alfa de paletas de textura. |
|
Dá suporte a texturas de cubo. |
|
O dispositivo requer que os mapas de textura de cubo tenham dimensões especificadas como potências de dois. |
|
O dispositivo dá suporte a texturas de cubo mipmapped. |
|
O dispositivo dá suporte a texturas mipmapped. |
|
O dispositivo dá suporte a texturas de volume mipmapped. |
|
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.
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. |
|
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. |
|
Há suporte para texturização de correção de perspectiva. |
|
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. |
|
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. |
|
Todas as texturas devem ser quadradas. |
|
Os índices de textura não são dimensionados pelo tamanho da textura antes da interpolação. |
|
O dispositivo dá suporte a texturas de volume. |
|
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.
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.
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.
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.
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 |