Instrucciones: vs_2_x

Esta sección contiene información de referencia para la versión del sombreador de vértices 2_x instrucciones.

Hay varios tipos de instrucciones del sombreador de vértices, como se muestra en la tabla. Las columnas a la derecha significan lo siguiente:

  • Ranuras de instrucción: número de ranuras de instrucción usadas por cada instrucción.
  • Configuración: instrucciones no aritméticas. Cada sombreador debe tener una instrucción de versión y debe ser la primera instrucción.
  • Aritmética: estas instrucciones proporcionan las operaciones matemáticas en un sombreador.
  • Control de flujo: estas instrucciones agregan funcionalidades de control de flujo, como bucles: frente a... endloop - vs, if bool - vs... else... llamadas a endif y subrutina.
  • Nuevo: estas instrucciones son nuevas en esta versión.

Conjunto de instrucciones

Nombre Descripción Ranuras de instrucción Configurar Aritméticos Control de flujo Nuevo
abs: frente a Valor absoluto 1 x
agregar: frente a Agregar dos vectores 1 x
break: frente a Interrupción de un bucle: frente a... endloop - vs o rep... bloque endrep 1 x x
break_comp: frente a Interrupción condicional de un bucle: frente a... endloop - vs o rep... bloque endrep , con una comparación 3 x x
breakp: vs Interrupción de un bucle: frente a... endloop - vs o rep... bloque endrep , basado en un predicado 3 x x
call: vs Llamar a una subrutina 2 x
callnz bool - vs Llame a una subrutina si un registro booleano no es cero 3 x
callnz pred : vs Llame a una subrutina si un registro de predicado no es cero 3 x x
crs - vs Productos cruzados 2 x
dcl_usage entrada (sm1, sm2, sm3 - vs asm) Declarar registros de vértices de entrada (consulte Registros: vs_2_x) 0 x
def- vs Definir constantes 0 x
defb: vs Definición de una constante booleana 0 x
defi - vs Definición de una constante entera 0 x
dp3: frente a Producto de punto de tres componentes 1 x
dp4: frente a Producto de punto de cuatro componentes 1 x
dst- vs Calcular el vector de distancia 1 x
else: vs Begin an else - vs block 1 x
endif: vs Fin de un if bool - vs... else: vs block 1 x
endloop: vs Fin de un bucle: frente a bloque 2 x
endrep - vs Fin de un bloque de repetición 2 x
exp: vs Precisión completa 2x 1 x
expp: vs Precisión parcial 2x 1 x
frc- vs Componente fraccional 1 x
if bool - vs Iniciar un valor if bool: frente a bloque (mediante una condición booleana) 3 x
if_comp: frente a Iniciar un valor if bool - vs block, con una comparación 3 x x
si está pred : frente a Inicio de un valor if bool: frente a bloque con una condición de predicado 3 x x
label: frente a Etiqueta 0 x
iluminado: frente a Cálculo parcial de la iluminación 3 x
log: frente a Registro de precisión completa(x) 1 x
logp: frente a Registro de precisión parcial(x) 1 x
bucle: frente a Loop 3 x
lrp: frente a Interpolación lineal 2 x
m3x2: frente a Multiplicación de 3x2 2 x
m3x3: vs Multiplicación de 3 x 3 3 x
m3x4- vs Multiplicación de 3 x 4 4 x
m4x3: frente a Multiplicación de 4 x 3 3 x
m4x4: vs Multiplicación de 4 x 4 4 x
loco: frente a Multiplicar y agregar 1 x
max: frente a Máximo 1 x
min- vs Mínima 1 x
mov - vs Move 1 x
mova - vs Mover datos de un registro de punto flotante al registro de direcciones (a0) 1 x
mul- vs Multiplicar 1 x
nop: vs No hay ninguna operación 1 x
nrm: vs Normalizar un vector 4D 3 x
pow: frente a xy 3 x
rcp: vs Recíproco 1 x
rep- vs Repeat 3 x
ret : frente a Fin de una subrutina o principal 1 x
rsq: vs Raíz cuadrada recíproca 1 x
setp_comp: frente a Establecimiento del registro de predicado 1 x x
sge- vs Comparación mayor o igual que 1 x
sgn- vs Firma 3 x
sincos - vs Seno y coseno 8 x
slt: frente a Menor que la comparación 1 x
sub- frente a Restar 1 x
Vs Versión 0 x

 

Instrucciones del sombreador de vértices