CG 標準函式庫

2022-07-18 13:09:10 字數 3234 閱讀 6987

函式

功能描述

abs(x)

返回輸入引數的絕對值

acos(x)

反餘切函式,輸入引數範圍為[-1,1], 返回[0,π]區間的角度值

all(x)

如果輸入引數均不為0,則返回ture; 否則返回flase。&&運算

any(x)

輸入引數只要有其中乙個不為0,則返回true。

asin(x)

反正弦函式,輸入引數取值區間為[−1,1]

,返回角度值範圍為, [−π2,π2]

atan(x)

反正切函式,返回角度值範圍為[−π2,π2]

atan2(y,x)

計算y/x的反正切值。實際上和atan(x)函式功能完全一樣,至少輸入引數不同。atan(x) = atan2(x, float(1))。

ceil(x)

對輸入引數向上取整。例如: ceil(float(1.3)) ,其返回值為2.0

clamp(x,a,b)

如果x值小於a,則返回a

如果x值大於b,返回b

否則,返回x

cos(x)

返回弧度x的余弦值。返回值範圍為[−1,1]

cosh(x)

雙曲余弦(hyperbolic cosine)函式,計算x的雙曲余弦值。

cross(a,b)

返回兩個三元向量的叉積(cross product)。注意,輸入引數必須是三元向量!

degrees(x)

輸入引數為弧度值(radians),函式將其轉換為角度值(degrees)

determinant(m)

計算矩陣的行列式因子。

dot(a,b)

返回ab的點積(dot product)。引數ab可以是標量,也可以是向量(輸入引數方面,點積和叉積函式有很大不同)。

exp(x)

計算ex

的值,e=2.71828182845904523536

exp2(x)

計算2x

的值floor(x)

對輸入引數向下取整。例如floor(float(1.3))返回的值為1.0;但是floor(float(-1.3))返回的值為-2.0。該函式與ceil(x)函式相對應。

fmod(x,y)

返回x/y的餘數。如果y0,結果不可預料。

frac(x)

返回標量或向量的小數

frexp(x, out i)

將浮點數x分解為尾數和指數,即x=m∗2i

, 返回m,並將指數存入i中;如果x0,則尾數和指數都返回0

isfinite(x)

判斷標量或者向量中的每個資料是否是有限數,如果是返回true;否則返回false;

isinf(x)

判斷標量或者向量中的每個資料是否是無限,如果是返回true;否則返回false;

isnan(x)

判斷標量或者向量中的每個資料是否是非資料(not-a-number nan),如果是返回true;否則返回false;

ldexp(x, n)

計算x∗2n

的值lerp(a, b, f)

計算(1−f)∗a+b∗f

或者a+f∗(b−a)

的值。即在下限a和上限b之間進行插值,f表示權值。注意,如果ab是向量,則權值f必須是標量或者等長的向量。

lit(ndotl, ndoth, m)

n表示法向量;

l表示入射光向量;

h表示半形向量;

m表示高光係數。 

函式計算環境光、散射光、鏡面光的貢獻,返回的4元向量。 

x位表示環境光的貢獻,總是1.0; 

y位代表散射光的貢獻,如果 n∙l<0

,則為0;否則為n∙l

z位代表鏡面光的貢獻,如果n∙l<0

或者n∙h<0

,則位0;否則為(n∙l)m

;w位始終位1.0

log(x)

計算ln(x)

的值,x必須大於0

log2(x)

計算log(x)2

的值,x必須大於0

log10(x)

計算log(x)10

的值,x必須大於0

max(a, b)

比較兩個標量或等長向量元素,返回最大值。

min(a,b)

比較兩個標量或等長向量元素,返回最小值。

modf(x, out ip)

x分解成整數和分數兩部分,每部分都和x有著相同的符號,整數部分被儲存在ip中,分數部分由函式返回

mul(m, n)

矩陣m和矩陣n的積,計算方法如下

mul(m,n)=⎡⎣⎢⎢⎢m11m12m13m14m21m22m23m24m31m32m33m34m41m42m43m44⎤⎦⎥⎥⎥⎡⎣⎢⎢⎢n11n12n12n13n21n22n23n24n31n32n33n34n41n42n43n

CG語法及函式庫

cg 標準函式庫主要分為五個部分 1.數學函式 mathematical functions 2.幾何函式 geometric functions 3.紋理對映函式 texture map functions 4.偏導數函式 derivative functions 5.除錯函式 debugging...

標準函式庫

1 rand與srand函式產生偽隨機數 cpp view plain copy print?intrand void void srand unsigned intseed rand返回乙個範圍在0和rand max之間的偽隨機數,為了避免程式每次執行時獲得相同的隨機數序列,可以使用srand函式...

標準I O函式庫

標準i o函式庫 c標準庫提供了檔案的標準 i o 函式庫,相比前述的系統呼叫,主要差別是實現了跨平台的使用者態緩衝的解決方案。標準i o庫使 用簡單,與系統呼叫i o相似,也包括開啟 讀寫 關閉這些操作,主要的函式列舉如下。開啟與關閉檔案 fopen,fclose。讀寫檔案 fread,fwrit...