百人計(jì)劃圖形2.3——HLSL常用函數(shù)

一、基本數(shù)學(xué)運(yùn)算
max(a,b)????返回較大的那個(gè)min(a,b)返回較小的那個(gè)
mul(a,b)????兩數(shù)相乘,常用于矩陣運(yùn)算abs(a)返回輸入值的絕對(duì)值
round(x)????返回與x最近的整數(shù)sqrt(x)返回指定值的平方根
rsqrt(x)????返回指定值的平方根的倒數(shù)
degrees(x)????轉(zhuǎn)換成弧度
redians(x)????將角度轉(zhuǎn)為弧度制noise(x)噪聲函數(shù)

二、冪指對(duì)與偏導(dǎo)數(shù)

三、三角函數(shù)與雙曲線函數(shù)


四、數(shù)據(jù)范圍類
ceil(x)返回>=x的最小整數(shù)step(x.y)x<=y為1,否則為0
floor(x)返回小于或等于x的最大整數(shù)saturate(x)返回將x鉗制到0和1之間的值
clamp(x,min,max)把x限制在[min, max]范圍內(nèi),小于返回min,大于返回maxfrac(x)返回x部分的小數(shù)
fmord(a,b)返回a/b的浮點(diǎn)部分
modf(x,out ip)將值x分為小數(shù)和整數(shù)部分(各部分符號(hào)與x相同)ip返回整數(shù)部分,整體返回小數(shù)部分
lerp(a,b,s)按照s在a到b之間插值
smoothstep(min,max,x)如果x在[ min,max ]范圍內(nèi),則返回介于0和1之間的平滑Hermite插值;使用smoothstep HLSL內(nèi)在函數(shù)在兩個(gè)值之間創(chuàng)建平滑過渡。例如,使用此功能平滑地混合兩種顏色

五、類型判斷類
all(x)確定指定量的所有分量是否均為非零,均非零則返回true,否則返回false(處理由浮點(diǎn)型、整型、布爾型數(shù)據(jù)定義的標(biāo)量、向量或者矩陣)
clip(x)如果輸入值小于零,則丟棄當(dāng)前像素常用于判定范圍(不僅僅針對(duì)0,返回值為void)常用于測(cè)試alpha,如果每個(gè)分量代表到平面的距離,還可以用來(lái)模擬剪切平面
sign(x)返回x的正負(fù)性如果x小于零返回-1,如果x等于零返回0,如果x大于零返回1
isinf(x)如果x參數(shù)為+lINF或-INF(無(wú)窮+無(wú)窮仍無(wú)窮,Ox3f3f3f3f),返回true,否則返回Falseisfinite(x)判斷x參數(shù)是有限,即有界的,與isinf(x)相反xiang'fa
isnan(x)如果x參數(shù)為NAN(非數(shù)字),返回true,否則返回false
六、向量與矩陣類
length(v)返回向量的長(zhǎng)度
normalize(v)向量歸一化,x/length(x)方向向量歸一化
distance(a,b)返回兩個(gè)向量之間的距離,按理說(shuō)應(yīng)該為O,此處表示為根號(hào)下各分量之差的平萬(wàn)和dot(a,b)返回a和b這兩個(gè)向量的標(biāo)積/內(nèi)積/數(shù)量積/點(diǎn)積(a在b上的投影長(zhǎng),arb=la][blcos0)
cross(a,b)返回a和b這兩個(gè)向量的矢積/外積/向量積/叉積
(返回值是個(gè)向量,而且與a、b都垂直,大小上|a x b|=al*bl/ *sin0 )
determinant(m)返回指定浮點(diǎn)矩陣的按行列式方式計(jì)算的值
transpose(m)返回矩陣m的轉(zhuǎn)置矩陣



3d紋理查找實(shí)際是查找紋理中的大量2d紋理?

個(gè)人認(rèn)為常用函數(shù)
dot?
normalize(歸一化)
lerp
pow等
ddxddy的實(shí)際使用測(cè)試
對(duì)于MIPMAP來(lái)說(shuō),ddxddy越大 ,MIPMAP級(jí)別就越大。
邊緣銳化


主要代碼截圖
