mov
|
0x00
|
move
|
move os dados de origem1 para destino, em nível de componente
|
add
|
0x01
|
add
|
destino = origem1 + origem2, em nível de componente
|
abaixo
|
0x02
|
subtract
|
destino = origem1 - origem2, em nível de componente
|
mul
|
0x03
|
multiplicar
|
destino = origem1 * origem2, em nível de componente
|
div
|
0x04
|
dividir
|
destino = origem1 / origem2, em nível de componente
|
rcp
|
0x05
|
recíproco
|
destino = 1/origem1, em nível de componente
|
mín.
|
0x06
|
mínimo
|
destino = mínimo (origem1, origem2), em nível de componente
|
máx.
|
0x07
|
maximum
|
destino = máximo (origem1, origem2), em nível de componente
|
frc
|
0x08
|
fracionário
|
destino = origem1 - base (flutuante) (origem1), em nível de componente
|
sqt
|
0x09
|
raiz quadrada
|
destino = sqrt (origem1), em nível de componente
|
rsq
|
0x0a
|
raiz recíproca
|
destino = 1/sqrt (origem1), em nível de componente
|
pow
|
0x0b
|
potência
|
destino = pow (origem1, origem2), em nível de componente
|
log
|
0x0c
|
logaritmo
|
destino = log_2 (origem1), em nível de componente
|
exp
|
0x0d
|
exponencial
|
destino = 2^origem1, em nível de componente
|
nrm
|
0x0e
|
normalize
|
destino = normalização (origem1), em nível de componente (produz só um resultado de três componentes; o destino deve ser mascarado como .xyz ou menos)
|
sen
|
0x0f
|
seno
|
destino = sen (origem1), em nível de componente
|
cos
|
0x10
|
cosseno
|
destino = cos (origem1), em nível de componente
|
crs
|
0x11
|
produto vetorial
|
destino.x = origem1.y * origem2.z - origem1.z * origem2.y
destino.y = origem1.z * origem2.x - origem1.x * origem2.z
destino.z = origem1.x * origem2.y - origem1.y * origem2.x
(produz só um resultado de 3 componentes; o destino deve ser mascarado como .xyz ou menos)
|
dp3
|
0x12
|
produto de ponto
|
destino = origem1.x*origem2.x + origem1.y*origem2.y + origem1.z*origem2.z
|
dp4
|
0x13
|
produto de ponto
|
destino = origem1.x*origem2.x + origem1.y*origem2.y + origem1.z*origem2.z + origem1.w*origem2.w
|
abs
|
0x14
|
absoluto
|
destino = abs(origem1), em nível de componente
|
neg
|
0x15
|
negar
|
destino = -origem1, em nível de componente
|
sat
|
0x16
|
saturar
|
destino = máximo (mínimo (origem1,1), 0), em nível de componente
|
m33
|
0x17
|
matriz de multiplicação 3x3
|
destino.x = (origem1.x * origem2[0].x) + (origem1.y * origem2[0].y) + (origem1.z * origem2[0].z)
destino.y = (origem1.x * origem2[1].x) + (origem1.y * origem2[1].y) + (origem1.z * origem2[1].z)
destino.z = (origem1.x * origem2[2].x) + (origem1.y * origem2[2].y) + (origem1.z * origem2[2].z)
(produz só um resultado de 3 componentes; o destino deve ser mascarado como .xyz ou menos)
|
m44
|
0x18
|
matriz de multiplicação 4x4
|
destino.x = (origem1.x * origem2[0].x) + (origem1.y * origem2[0].y) + (origem1.z * origem2[0].z) + (origem1.w * origem2[0].w)
destino.y = (origem1.x * origem2[1].x) + (origem1.y * origem2[1].y) + (origem1.z * origem2[1].z) + (origem1.w * origem2[1].w)
destino.z = (origem1.x * origem2[2].x) + (origem1.y * origem2[2].y) + (origem1.z * origem2[2].z) + (origem1.w * origem2[2].w)
destino.w = (origem1.x * origem2[3].x) + (origem1.y * origem2[3].y) + (origem1.z * origem2[3].z) + (origem1.w * origem2[3].w)
|
m34
|
0x19
|
matriz de multiplicação 3x4
|
destino.x = (origem1.x * origem2[0].x) + (origem1.y * origem2[0].y) + (origem1.z * origem2[0].z) + (origem1.w * origem2[0].w)
destino.y = (origem1.x * origem2[1].x) + (origem1.y * origem2[1].y) + (origem1.z * origem2[1].z) + (origem1.w * origem2[1].w)
destino.z = (origem1.x * origem2[2].x) + (origem1.y * origem2[2].y) + (origem1.z * origem2[2].z) + (origem1.w * origem2[2].w)
(produz só um resultado de 3 componentes; o destino deve ser mascarado como .xyz ou menos)
|
kil
|
0x27
|
kil/descarte (somente sombreador de fragmento)
|
Se o componente de origem escalar única for menor do que zero, o fragmento será descartado e não será desenhado no buffer de quadros. (O registro de destino deve ser definido para todos os 0)
|
tex
|
0x28
|
amostra de textura (somente sombreador de fragmento)
|
o destino iguala a carga a partir da textura origem2 em coordenadas origem1. Neste caso, origem2 deve estar no formato de mostruário.
|
sge
|
0x29
|
definir se maior ou igual
|
destino = origem1> = origem2? 1 : 0, em nível de componente
|
slt
|
0x2a
|
definir se menor que
|
destino = origem1 <origem2? > 1 : 0, em nível de componente
|
seq
|
0x2c
|
definir se igual
|
destino = origem1 == origem2? 1 : 0, em nível de componente
|
sne
|
0x2d
|
definir se não igual
|
destino = origem1!= source2 ? 1 : 0, em nível de componente
|