Instruções – vs_3_0

Esta seção contém informações de referência para as instruções do sombreador de vértice versão 3_0.

Há vários tipos de instruções de sombreador de vértice, conforme mostrado na tabela. As colunas à direita significam o seguinte:

  • Slots de instrução – número de slots de instrução usados por cada instrução.
  • Instalação – instruções não aritméticas. Cada sombreador deve ter uma instrução de versão e deve ser a primeira instrução.
  • Aritmética – essas instruções fornecem as operações matemáticas em um sombreador.
  • Textura – essas instruções dão suporte à pesquisa de endereço de textura.
  • Controle de fluxo – essas instruções adicionam controle de fluxo, como loops, repetições e se bool - vs... senão... comparações endif .
  • Novo – estas instruções são novas para esta versão.

Conjunto de instruções

Nome Descrição Slots de instrução Instalação Aritmético Textura Controle de fluxo Novo
abs - vs Valor absoluto 1 x
add - vs Adicionar dois vetores 1 x
break - vs Sair de um loop - vs... endloop - vs ou rep... Bloco endrep 1 x
break_comp - vs Sair condicionalmente de um loop - vs... endloop - vs ou rep... bloco endrep , com uma comparação 3 x
breakp - vs Sair de um loop - vs... endloop - vs ou rep... bloco endrep , com base em um predicado 3 x
call - vs Chamar uma sub-rotina 2 x
callnz bool - vs Chamar uma sub-rotina se um registro booliano não for zero 3 x
callnz pred - vs Chamar uma sub-rotina se um registro de predicado não for zero 3 x
crs - vs Produto cruzado 2 x
dcl_usage entrada (sm1, sm2, sm3 - vs asm) Declarar registros de vértice de entrada (consulte Registros – vs_3_0) 0 x
dcl_samplerType (sm3 - vs asm) Declarar a dimensão de textura para um sampler 0 x x
def - vs Definir constantes 0 x
defb - vs Declarar uma constante booliana 0 x
defi - vs Declarar uma constante de inteiro 0 x
dp3 - vs Produto de ponto de três componentes 1 x
dp4 - vs Produto de ponto de quatro componentes 1 x
dst - vs Distância 1 x
else - vs Iniciar um outro bloco 1 x
endif - vs Encerrar um se bool - vs... bloco else 1 x
endloop - vs Fim de um loop – vs block 2 x
endrep - vs Fim de um bloco de repetição 2 x
exp - vs Precisão total 2x 1 x
expp - vs Precisão parcial 2x 1 x
frc - vs Componente fracionário 1 x
se bool - vs Iniciar um se bool – vs block (usando uma condição booliana) 3 x
if_comp - vs Iniciar um se bool – vs block, com uma comparação 3 x
se pred - vs Iniciar um se bool – vs block com uma condição de predicado 3 x
label - vs Rótulo 0 x
aceso - vs Calcular iluminação 3 x
log - vs Log de precisão completa₂(x) 1 x
logp - vs Log de precisão parcial₂(x) 1 x
loop - vs Loop 3 x
lrp - vs Interpolação linear 2 x
m3x2 - vs Multiplicação 3x2 2 x
m3x3 - vs Multiplicação 3x3 3 x
m3x4 - vs Multiplicação 3x4 4 x
m4x3 - vs Multiplicação 4x3 3 x
m4x4 - vs Multiplicação 4x4 4 x
louco - vs Multiplicar e adicionar 1 x
max - vs Máximo 1 x
min - vs Mínimo 1 x
mov - vs Mover 1 x
mova - vs Mover dados de um registro de ponto flutuante para um registro inteiro 1 x
mul - vs Multiplicar 1 x
nop - vs Nenhuma operação 1 x
nrm - vs Normalizar 3 x
pow - vs xy 3 x
rcp - vs Recíproca 1 x
rep - vs Repetir 3 x
ret - vs Fim de uma sub-rotina 1 x
rsq - vs Raiz quadrada recíproca 1 x
setp_comp - vs Definir o registro de predicado 1 x
sge - vs Comparação maior ou igual a 1 x
sgn - vs Assinar 3 x
sincos - vs Seno e cosseno 8 x
slt - vs Menos do que comparar 1 x
sub - vs Subtrair 1 x
texldl - vs Carga de textura com nível de detalhes ajustável pelo usuário Consulte a observação 1 x x
Vs Versão 0 x

 

Observações:

  • se a textura for um mapa de cubo, slots = 5; caso contrário, slots = 2

Instruções de sombreador de vértice