WebGL自學課程(11):ELSL著色器程式設計中內建的運算子與函式

孫群發表於2013-02-07

-x:返回x向量的負值,表示與原向量方向相反的向量。

x+y:計算向量x和向量y的和,x和y向量必須是同維度的。

x-y:計算兩個向量的差值,兩個向量也必須是同維度的。

x*y:如果x和y都是向量,那麼該運算子進行的是逐分量的相乘計算;如果是矩陣相乘,那麼該運算子會返回一個線性相乘的矩陣,而不是一個逐分量的相乘結果(如果想得到的是逐分量的相乘結果,那就需要使用matrixCompMult函式)。

x/y:除法運算子與乘法運算子比較相似。

dot(x,y):返回兩個向量的店乘積(標量),這兩個向量必須是同維度的。

cross(vec3 x,vec3 y):返回兩個向量的叉乘結果(向量),x和y必須都是vec3型別的向量。

matrixCompMult(mat x,mat y):返回兩個矩陣的逐分量的相乘結果,x和y必須是同維度的(mat2,mat3或mat4)。

normalize(x):返回向量x的單位矩陣。

reflect(t,n):n是法向量,t是入射向量,返回t軸對稱於法向量的反射向量。

clamp(a,b,c):用於返回a、b、c中的中間值

相關文章