Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Um sombreador de pixel programável é composto por um conjunto de instruções que operam em dados de pixel. Registra dados de transferência dentro e fora da ALU. Controle adicional pode ser aplicado para modificar a instrução, os resultados ou quais dados são gravados.
- ps_3_0 Instruções contém uma lista das instruções disponíveis.
- ps_3_0 Registers lista os diferentes tipos de registradores usados pelo pixel shader ALU.
- Modificadores São usados para modificar a maneira como uma instrução funciona.
- Máscara de Gravação do Registro de Destino determina quais componentes do registro de destino serão gravados.
- modificadores de registro de origem do Pixel Shader alterar os dados do registro de origem antes que a instrução seja executada.
- de Registro de Origem fornece controle adicional sobre quais componentes de registro são lidos, copiados ou gravados.
Novos recursos
Adicione um registo facial. Adicione um registo de posição. Os registros de cores (v#) agora são totalmente flutuantes e os registros de coordenadas de textura (t#) foram consolidados. As declarações de entrada usam os nomes de uso, e vários usos são permitidos para componentes de um determinado registro.
Controlo Dinâmico de Caudal
O dispositivo suporta controle de fluxo dinâmico (se bool - ps, break - ps, e break_comp - ps). A profundidade de nidificação varia de 0 a 24.
Número de registos temporários
O número de registos temporários apoiados é de 32.
Profundidade de aninhamento do controle de fluxo estático
A chamada de - ps/callnz /call_pred pode ser aninhada a uma profundidade máxima de 4. Independentemente, loop - ps/rep - ps instruções podem ser aninhadas a uma profundidade máxima de 4.
Swizzle arbitrário
Swizzle arbitrário é suportado. Consulte Source Register Swizzling.
Instruções de gradiente
Instruções de gradiente são suportadas. Veja dsx - ps, dsy - ps, e texldd - ps.
Predicação
A predicação de instruções é suportada. Consulte Registro de Predicados.
Limite de leitura dependente
Não há limites de leitura dependentes.
Limite de instruções de textura
Não há limite para as instruções de textura.
Contagem de instruções
Cada sombreador de pixel é permitido em qualquer lugar de 512 até o número de slots em MaxPixelShader30InstructionSlots (não mais de 32768). O número de instruções executadas pode ser muito maior devido ao suporte de looping. MaxPShaderInstructionsExecuted deve ser pelo menos 2^16.
Contagem de amostradores
O número de amostradores de textura disponíveis é de 16.
Tampas do dispositivo
Se ps_3_0 for suportado, os seguintes limites são suportados no hardware (no mínimo):
| Boné | Valor |
|---|---|
| MaxTextureWidth, MaxTextureHeight | 4K cada |
| MaxTextureRepeat | 8K |
| MaxAnisotropia | 16 |
| PixelShaderVersion | 3_0 |
| MaxPixelShader30InstructionSlots | 512 |
| As seguintes tampas primitivas são definidas: | D3DPMISCCAPS_BLENDOP, D3DPMISCCAPS_CLIPPLANESCALEDPOINTS, D3DPMISCCAPS_CLIPTLVERTS, D3DPMISCCAPS_CULLCCW, D3DPMISCCAPS_CULLCW, D3DPMISCCAPS_CULLNONE, D3DPMISCCAPS_FOGINFVF D3DPMISCCAPS_MASKZ |
| As seguintes tampas raster são definidas: | D3DPRASTERCAPS_MIPMAPLODBIAS, D3DPRASTERCAPS_ANISOTROPY, D3DPRASTERCAPS_COLORPERSPECTIVE D3DPRASTERCAPS_SCISSORTEST em D3DCAPS9 |
| Suporte completo para viés de profundidade, incluindo: | D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS, D3DPRASTERCAPS_DEPTHBIAS |
| Conjunto completo de comparações para teste de profundidade e alfa, incluindo: | Todos os D3DPCMPCAPS em D3DCAPS9. |
| Modos de mistura de origem | Todos os modos de mistura são suportados como fonte (exceto D3DPBLENDCAPS_SRCALPHASAT, D3DPBLENDCAPS_BOTHSRCALPHA e D3DPBLENDCAPS_BOTHINVSRCALPHA). |
| As seguintes tampas de textura são suportadas: | D3DPTEXTURECAPS_CUBEMAP, D3DPTEXTURECAPS_MIPCUBEMAP, D3DPTEXTURECAPS_MIPMAP, D3DPTEXTURECAPS_MIPVOLUMEMAP, D3DPTEXTURECAPS_PERSPETIVE, D3DPTEXTURECAPS_PROJECTED, D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE D3DPTEXTURECAPS_VOLUMEMAP |
| Os seguintes itens são suportados em tampas de filtro de textura, tampas de filtro de textura de volume e tampas de filtro de textura de cubo: | D3DPTFILTERCAPS_MINFPOINT, D3DPTFILTERCAPS_MINFLINEAR, D3DPTFILTERCAPS_MINFANISOTROPIC (Isso não é necessário para VolumeTextureFilterCaps e CubeTextureFilterCaps ), D3DPTFILTERCAPS_MIPFPOINT, D3DPTFILTERCAPS_MIPFLINEAR, D3DPTFILTERCAPS_MAGFPOINT D3DPTFILTERCAPS_MAGFLINEAR |
| Os seguintes modos de endereço de textura são suportados nos estágios de vértice e pixel: | D3DPTADDRESSCAPS_WRAP, D3DPTADDRESSCAPS_MIRROR, D3DPTADDRESSCAPS_CLAMP, D3DPTADDRESSCAPS_BORDER, D3DPTADDRESSCAPS_INDEPENDENTUV D3DPTADDRESSCAPS_MIRRORONCE |
| Todas as tampas do sombreador de pixel são suportadas. | DynamicFlowControlDepth = 24, NumTemps = 32, StaticFlowControlDepth = 4, NumInstructionSlots = 512. Os seguintes recursos são suportados: predicação, swizzles arbitrários e instruções de gradiente. Não há limite de leitura dependente e não há limite para a mistura de instruções de textura e matemática. |
| Todas as operações de estêncil são suportadas. Isto inclui estêncil de dois lados. | Visualizar D3DSTENCILOP |
| Tamanho do ponto de suporte do dispositivo por vértice | D3DFVFCAPS_PSIZE em D3DCAPS9 |
| Sem alimentação de 2 suportes de textura. | Suporte total ou suporte condicional não-pow-2; dispositivo não deve ter a textura quadrada apenas limitação como em D3DPTEXTURECAPS_SQUAREONLY. |
| Se o dispositivo suportar vários rendertargets, os seguintes limites são suportados: | D3DPMISCCAPS_INDEPENDENTWRITEMASKS, D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING |
| Se vs_3_0 for suportado | MaxUserClipPlanes em D3DCAPS9 é 6 |
Tópicos relacionados