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 vértice programável é composto por um conjunto de instruções que operam em dados de vértice. 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.
A versão do sombreador Vertex vs_2_x estende o conjunto de recursos suportado pelo vs_2_0. Cada característica adicional é representada por uma tampa correspondente na estrutura D3DCAPS9 dentro D3DVS20CAPS. Para usar qualquer um dos recursos aprimorados representados por essas tampas, a versão do sombreador de vértice deve ser especificada como vs_2_x.
- Instruções - vs_2_x contém uma lista das instruções disponíveis.
- Registers - vs_2_x lista os diferentes tipos de registros usados pelo sombreador de vértice ALU.
- Vertex Shader Register Modifiers são usados para modificar a maneira como uma instrução funciona.
- Vertex Shader Source Register Modifiers 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.
- de mascaramento do registro de destino determina quais componentes do registro de destino são gravados.
Novos recursos
As novas funcionalidades são as seguintes:
Controlo Dinâmico de Caudal
Se D3DVS20CAPS> 0, as seguintes instruções de controle de fluxo dinâmico são suportadas:
Se D3DVS20CAPS também estiver definido, as seguintes instruções adicionais de controle de fluxo são suportadas:
O intervalo de valores para a profundidade de controle de fluxo dinâmico é de 0 a 24 e é igual à profundidade de aninhamento das instruções de controle de fluxo dinâmico (consulte Limites de aninhamento de controle de fluxo para obter detalhes). Se esta tampa for zero, o dispositivo não suporta instruções de controlo dinâmico do fluxo.
Número de registos temporários
D3DVS20CAPS representa o número de de Registo Temporário suportados pelo dispositivo. O intervalo de valores para este limite é de 12 a 32.
Profundidade de aninhamento do controle de fluxo estático
D3DVS20CAPS representa a profundidade de aninhamento de dois tipos de instruções de controle de fluxo estático: loop - vs/rep - vs e call - vs/callnz bool - vs/if bool - vs. As instruções Loop - VS/REP - VS podem ser aninhadas até D3DVS20CAPS profundidade. Independentemente, call - vs/callnz bool - vs instruções podem ser aninhadas até D3DVS20CAPS profundidade. Se D3DVS20CAPS também estiver definido, callnz pred - vs será contado para a profundidade de aninhamento da chamada - vs/callnz bool - vs/if bool - vs (consulte Flow Control Nesting Limits para obter detalhes).
Predicação
Se D3DVS20CAPS estiver definido, o dispositivo suporta setp_comp - vs e predicação de instruções. Se D3DVS20CAPS também for maior que 0, as seguintes instruções adicionais de controle de fluxo dinâmico são suportadas:
Contagem de instruções
Cada sombreador de vértice pode ter até 256 instruções armazenadas. O número de instruções executadas pode ser muito maior (por causa do suporte a loop/rep), e é limitado por D3DCAPS9, que deve ser pelo menos 0xFFFF.
Tópicos relacionados