標籤:

常用的CG內置函數

數學函數

  • abs(x) 返回輸入參數的絕對值
  • acos(x) 反餘切函數,輸入參數範圍為[-1,1], 返回[0,π]區間的角度值
  • all(x) 如果輸入參數均不為0,則返回ture; 否則返回flase。&&運算
  • any(x) 輸入參數只要有其中一個不為0,則返回true。
  • asin(x) 反正弦函數,輸入參數取值區間為,返回角度值範圍為, atan(x)反正切函數,返回角度值範圍為
  • atan2(y,x) 計算y/x的反正切值。實際上和atan(x)函數功能完全一樣,至少輸入參數不同。atan(x) = atan2(x, float(1))。
  • ceil(x) 對輸入參數向上取整。例如: ceil(float(1.3)) ,其返回值為2.0clamp(x,a,b)如果x值小於a,則返回a;如果x值大於b,返回b;否則,返回x。
  • cos(x) 返回弧度x的餘弦值。返回值範圍為cosh(x)雙曲餘弦(hyperbolic cosine)函數,計算x的雙曲餘弦值。
  • cross(A,B) 返回兩個三元向量的叉積(cross product)。注意,輸入參數必須是三元向量!
  • degrees(x) 輸入參數為弧度值(radians),函數將其轉換為角度值(degrees)determinant(m)計算矩陣的行列式因子。dot(A,B)返回A和B的點積(dot product)。參數A和B可以是標量,也可以是向量(輸入參數方面,點積和叉積函數有很大不同)。
  • exp(x) 計算的值,e=2.71828182845904523536
  • exp2(x) 計算的值
  • floor(x) 對輸入參數向下取整。例如floor(float(1.3))返回的值為1.0;但是floor(float(-1.3))返回的值為-2.0。該函數與ceil(x)函數相對應。
  • fmod(x,y) 返回x/y的餘數。如果y為0,結果不可預料。
  • frac(x) 返回標量或矢量的小數
  • frexp(x, out i) 將浮點數x分解為尾數和指數,即, 返回m,並將指數存入i中;如果x為0,則尾數和指數都返回0
  • isfinite(x) 判斷標量或者向量中的每個數據是否是有限數,如果是返回true;否則返回false;
  • isinf(x) 判斷標量或者向量中的每個數據是否是無限,如果是返回true;否則返回false;
  • isnan(x) 判斷標量或者向量中的每個數據是否是非數據(not-a-number NaN),如果是返回true;否則返回false;
  • ldexp(x, n) 計算的值
  • lerp(a, b, f) 計算或者的值。即在下限a和上限b之間進行插值,f表示權值。注意,如果a和b是向量,則權值f必須是標量或者等長的向量。
  • lit(NdotL, NdotH, m) N表示法向量;L表示入射光向量;H表示半形向量;m表示高光係數。 函數計算環境光、散射光、鏡面光的貢獻,返回的4元向量。 X位表示環境光的貢獻,總是1.0; Y位代表散射光的貢獻,如果 ,則為0;否則為 Z位代表鏡面光的貢獻,如果 或者,則位0;否則為;W位始終位1.0
  • log(x) 計算的值,x必須大於0
  • log2(x) 計算的值,x必須大於0
  • log10(x) 計算的值,x必須大於0
  • max(a, b) 比較兩個標量或等長向量元素,返回最大值。
  • min(a,b) 比較兩個標量或等長向量元素,返回最小值。
  • modf(x, out ip) 把x分解成整數和分數兩部分,每部分都和x有著相同的符號,整數部分被保存在ip中,分數部分由函數返回
  • mul(M, N) 矩陣M和矩陣N的積,計算方法如下
  • mul(M, v) 矩陣M和列向量v的積,公式如下
  • mul(v, M) 行向量v和矩陣M的積,公式如下
  • noise(x) 根據它的參數類型,這個函數可以是一元、二元或三元噪音函數。返回的值在0和1之間,並且通常與給定的輸入值一樣
  • pow(x, y)
  • radians(x) 函數將角度值轉換為弧度值
  • round(x) 返回四捨五入值。
  • rsqrt(x) x的平方根的倒數,x必須大於0
  • saturate(x) 把x限制到[0,1]之間
  • sign(x) 如果則返回1;否則返回0
  • sin(x) 輸入參數為弧度,計算正弦值,返回值範圍 為[-1,1]
  • sincos(float x, out s, out c) 該函數是同時計算x的sin值和cos值,其中s=sin(x),c=cos(x)。該函數用於「同時需要計算sin值和cos值的情況」,比分別運算要快很多!
  • sinh(x) 計算x的雙曲正弦
  • smoothstep(min, max, x) 值x位於min、max區間中。如果x=min,返回0;如果x=max,返回1;如果x在兩者之間,按照下列公式返回數據:
  • step(a, x) 如果,返回0;否則,返回1
  • sqrt(x) 求x的平方根,,x必須大於0
  • tan(x) 計算x正切值
  • tanh(x) 計算x的雙曲線切線
  • transpose(M) 矩陣M的轉置矩陣,如果M是一個AxB矩陣,M的轉置是一個BxA矩陣,它的第一列是M的第一行,第二列是M的第二行,第三列是M的第三行,等等

點下面鏈接添加我的微信(summer_dan_3),從此多一個開發者好友:

佔佔的微信(summer_dan_3)?

kylinzhan.cn


推薦閱讀:

TAG:函數 | 參數 |