1. 程式人生 > >GLSL(著色器語言)中的內建函式

GLSL(著色器語言)中的內建函式

  • x*y: 如果x和y都是向量,那麼該運算子進行的是逐分量的相乘計算;如果是矩陣相乘,那麼該運算子會返回一個線性相乘(線性代數中正常的矩陣乘法)的矩陣,而不是一個逐分量的相乘結果(如果想得到的是逐分量的相乘結果,那就需要使用matrixCompMult函式)。
  • dot(x,y): 返回同維度的兩個向量的點乘積(標量)。
  • cross(x,y):返回兩個向量的叉乘結果(向量),x和y必須都是vec3型別的向量。
  • matrixCompMult(mat x,mat y): 返回兩個矩陣的逐分量的相乘結果,x和y必須是同維度的(mat2,mat3或mat4)。
  • normalize(x)
    :對向量x進行歸一化(標準化),將該向量的值控制在-1到1之間。
  • reflect(t,n): n是法向量,t是入射向量,返回t軸對稱於法向量的反射向量。
  • clamp(a,b,c):用於返回a、b、c中的中間值。
  • pow(x,y):冪函式,x的y次冪。
  • exp2(x):2的x次方。(x>0)
  • log2(x):以2為底x的對數。(x>0)
  • sqrt(x):返回根號x(x>=0)
  • inversesqrt(x):返回根號x的倒數。(x>0)