mov
|
0x00
|
taşı
|
verileri kaynak1 öğesinden hedef öğesine bileşen yönünde taşıyın
|
add
|
0x01
|
add
|
hedef = kaynak1 + kaynak2, bileşen yönünde
|
sub
|
0x02
|
subtract
|
hedef = kaynak1 - kaynak2, bileşen yönünde
|
mul
|
0x03
|
çarp
|
hedef = kaynak1 * kaynak2, bileşen yönünde
|
div
|
0x04
|
böl
|
hedef = kaynak1 / kaynak2, bileşen yönünde
|
rcp
|
0x05
|
ters
|
hedef = 1/kaynak1, bileşen yönünde
|
min
|
0x06
|
minimum
|
hedef = minimum(kaynak1,kaynak2), bileşen yönünde
|
max
|
0x07
|
maximum
|
hedef = maksimum(kaynak1,kaynak2), bileşen yönünde
|
frc
|
0x08
|
kesirsel
|
hedef = kaynak1 - (kaydır)taban(kaynak1), bileşen yönünde
|
sqt
|
0x09
|
kare kök
|
hedef = sqrt(kaynak1), bileşen yönünde
|
rsq
|
0x0a
|
ters kök
|
hedef = 1/sqrt(kaynak1), bileşen yönünde
|
pow
|
0x0b
|
üssü
|
hedef = pow(kaynak1,kaynak2), bileşen yönünde
|
log
|
0x0c
|
logaritma
|
hedef = log_2(kaynak1), bileşen yönünde
|
exp
|
0x0d
|
üssel
|
hedef = 2^kaynak1, bileşen yönünde
|
nrm
|
0x0e
|
normalleştir
|
hedef = normalleştir(kaynak1), bileşen yönünde (yalnızca 3 bileşenli bir sonuç verir; hedef, .xyz veya daha azı olarak maskelenmelidir)
|
sin
|
0x0f
|
sinüs
|
hedef = sin(kaynak1), bileşen yönünde
|
cos
|
0x10
|
kosinüs
|
hedef = cos(kaynak1), bileşen yönünde
|
crs
|
0x11
|
vektörel çarpım
|
hedef.x = kaynak1.y * kaynak2.z - kaynak1.z * kaynak2.y
hedef.y = kaynak1.z * kaynak2.x - kaynak1.x * kaynak2.z
hedef.z = kaynak1.x * kaynak2.y - kaynak1.y * kaynak2.x
(yalnızca 3 bileşenli bir sonuç verir, hedef .xyz veya daha azı olarak maskelenmelidir)
|
dp3
|
0x12
|
skaler çarpım
|
hedef = kaynak1.x*kaynak2.x + kaynak1.y*kaynak2.y + kaynak1.z*kaynak2.z
|
dp4
|
0x13
|
skaler çarpım
|
hedef = kaynak1.x*kaynak2.x + kaynak1.y*kaynak2.y + kaynak1.z*kaynak2.z + kaynak1.w*kaynak2.w
|
abs
|
0x14
|
mutlak
|
hedef = abs(kaynak1), bileşen yönünde
|
neg
|
0x15
|
negatif yapma
|
hedef = -kaynak1, bileşen yönünde
|
sat
|
0x16
|
doygun hale getirme
|
hedef = maksimum(minimum(kaynak1,1),0), bileşen yönünde
|
m33
|
0x17
|
çarpma matrisi 3x3
|
hedef.x = (kaynak1.x * kaynak2[0].x) + (kaynak1.y * kaynak2[0].y) + (kaynak1.z *kaynak2[0].z)
hedef.y = (kaynak1.x * kaynak2[1].x) + (kaynak1.y * kaynak2[1].y) + (kaynak1.z * kaynak2[1].z)
hedef.z = (kaynak1.x * kaynak2[2].x) + (kaynak1.y * kaynak2[2].y) + (kaynak1.z * kaynak2[2].z)
(yalnızca 3 bileşenli bir sonuç verir, hedef .xyz veya daha azı olarak maskelenmelidir)
|
m44
|
0x18
|
çarpma matrisi 4x4
|
hedef.x = (kaynak1.x * kaynak2[0].x) + (kaynak1.y * kaynak2[0].y) + (kaynak1.z * kaynak2[0].z) + (kaynak1.w * kaynak2[0].w)
hedef.y = (kaynak1.x * kaynak2[1].x) + (kaynak1.y * kaynak2[1].y) + (kaynak1.z * kaynak2[1].z) + (kaynak1.w * kaynak2[1].w)
hedef.z = (kaynak1.x * kaynak2[2].x) + (kaynak1.y * kaynak2[2].y) + (kaynak1.z * kaynak2[2].z) + (kaynak1.w * kaynak2[2].w)
hedef.w = (kaynak1.x * kaynak2[3].x) + (kaynak1.y * kaynak2[3].y) + (kaynak1.z * kaynak2[3].z) + (kaynak1.w * kaynak2[3].w)
|
m34
|
0x19
|
çarpma matrisi 3x4
|
hedef.x = (kaynak1.x * kaynak2[0].x) + (kaynak1.y * kaynak2[0].y) + (kaynak1.z * kaynak2[0].z) + (kaynak1.w * kaynak2[0].w)
hedef.y = (kaynak1.x * kaynak2[1].x) + (kaynak1.y * kaynak2[1].y) + (kaynak1.z * kaynak2[1].z) + (kaynak1.w * kaynak2[1].w)
hedef.z = (kaynak1.x * kaynak2[2].x) + (kaynak1.y * kaynak2[2].y) + (kaynak1.z * kaynak2[2].z) + (kaynak1.w * kaynak2[2].w)
(yalnızca 3 bileşenli bir sonuç verir, hedef .xyz veya daha azı olarak maskelenmelidir)
|
kil
|
0x27
|
sonlandır/at (yalnızca parça gölgelendiricisi)
|
Tek skaler kaynak bileşeni sıfırdan daha düşükse, parça atılır ve çerçeve arabelleğine çizilmez. (Hedef kaydının tümü 0 olarak ayarlanmalıdır)
|
tex
|
0x28
|
doku örneği (yalnızca parça gölgelendiricisi)
|
hedef öğesi, kaynak2 öğesinden gelen yüke kaynak1 koordinatlarında eşittir. Bu durumda kaynak2 öğesi, örnekleyici biçiminde olmalıdır.
|
sge
|
0x29
|
büyük-eşitse-ayarla
|
hedef = kaynak1 >= kaynak2 ? 1 : 0, bileşen yönünde
|
slt
|
0x2a
|
daha-küçükse-ayarla
|
hedef = kaynak1 < kaynak2 ? 1 : 0, bileşen yönünde
|
seq
|
0x2c
|
eşitse-ayarla
|
hedef = kaynak1 == kaynak2 ? 1 : 0, bileşen yönünde
|
sne
|
0x2d
|
eşit-değilse-ayarla
|
hedef = kaynak1 != kaynak2 ? 1 : 0, bileşen yönünde
|