您的位置:首页 > 移动开发 > Unity3D

Unity3D Shader 内置函数

2017-09-26 16:43 351 查看

Intrinsic Functions (DirectX HLSL)

The following table lists the intrinsic functions available in HLSL. Each function has a brief description, and a link to a reference page that has more detail about the input argument and return type.

NameSyntaxDescription
absabs(x)Absolute value (per component).
acosacos(x)Returns the arccosine of each component of x.
allall(x)Test if all components of x are nonzero.
anyany(x)Test if any component of x is nonzero.
asfloatasfloat(x)Convert the input type to a float.
asinasin(x)Returns the arcsine of each component of x.
asintasint(x)Convert the input type to an integer.
asuintasuint(x)Convert the input type to an unsigned integer.
atanatan(x)Returns the arctangent of x.
atan2atan2(y, x)Returns the arctangent of of two values (x,y).
ceilceil(x)Returns the smallest integer which is greater than or equal to x.
clampclamp(x, min, max)Clamps x to the range [min, max].
clipclip(x)Discards the current pixel, if any component of x is less than zero.
coscos(x)Returns the cosine of x.
coshcosh(x)Returns the hyperbolic cosine of x.
crosscross(x, y)Returns the cross product of two 3D vectors.
D3DCOLORtoUBYTE4D3DCOLORtoUBYTE4(x)Swizzles and scales components of the 4D vector x to compensate for the lack of UBYTE4 support in some hardware.
ddxddx(x)Returns the partial derivative of x with respect to the screen-space x-coordinate.
ddyddy(x)Returns the partial derivative of x with respect to the screen-space y-coordinate.
degreesdegrees(x)Converts x from radians to degrees.
determinantdeterminant(m)Returns the determinant of the square matrix m.
distancedistance(x, y)Returns the distance between two points.
dotdot(x, y)Returns the dot product of two vectors.
expexp(x)Returns the base-e exponent.
exp2exp2(x)Base 2 exponent (per component).
faceforwardfaceforward(n, i, ng)Returns -n * sign(•(i, ng)).
floorfloor(x)Returns the greatest integer which is less than or equal to x.
fmodfmod(x, y)Returns the floating point remainder of x/y.
fracfrac(x)Returns the fractional part of x.
frexpfrexp(x, exp)Returns the mantissa and exponent of x.
fwidthfwidth(x)Returns abs(ddx(x)) + abs(ddy(x))
GetRenderTargetSampleCountGetRenderTargetSampleCount()Returns the number of render-target samples.
GetRenderTargetSamplePositionGetRenderTargetSamplePosition(x)Returns a sample position (x,y) for a given sample index.
isfiniteisfinite(x)Returns true if x is finite, false otherwise.
isinfisinf(x)Returns true if x is +INF or -INF, false otherwise.
isnanisnan(x)Returns true if x is NAN or QNAN, false otherwise.
ldexpldexp(x, exp)Returns x * 2exp
lengthlength(v)Returns the length of the vector v.
lerplerp(x, y, s)Returns x + s(y - x).
litlit(n • l, n • h, m)Returns a lighting vector (ambient, diffuse, specular, 1)
loglog(x)Returns the base-e logarithm of x.
log10log10(x)Returns the base-10 logarithm of x.
log2log2(x)Returns the base-2 logarithm of x.
maxmax(x, y)Selects the greater of x and y.
minmin(x, y)Selects the lesser of x and y.
modfmodf(x, out ip)Splits the value x into fractional and integer parts.
mulmul(x, y)Performs matrix multiplication using x and y.
noisenoise(x)Generates a random value using the Perlin-noise algorithm.
normalizenormalize(x)Returns a normalized vector.
powpow(x, y)Returns xy.
radiansradians(x)Converts x from degrees to radians.
reflectreflect(i, n)Returns a reflection vector.
refractrefract(i, n, R)Returns the refraction vector.
roundround(x)Rounds x to the nearest integer
rsqrtrsqrt(x)Returns 1 / sqrt(x)
saturatesaturate(x)Clamps x to the range [0, 1]
signsign(x)Computes the sign of x.
sinsin(x)Returns the sine of x
sincossincos(x, out s, out c)Returns the sine and cosine of x.
sinhsinh(x)Returns the hyperbolic sine of x
smoothstepsmoothstep(min, max, x)Returns a smooth Hermite interpolation between 0 and 1.
sqrtsqrt(x)Square root (per component)
stepstep(a, x)Returns (x >= a) ? 1 : 0
tantan(x)Returns the tangent of x
tanhtanh(x)Returns the hyperbolic tangent of x
tex1Dtex1D(s, t)1D texture lookup.
tex1Dbiastex1Dbias(s, t)1D texture lookup with bias.
tex1Dgradtex1Dgrad(s, t, ddx, ddy)1D texture lookup with a gradient.
tex1Dlodtex1Dlod(s, t)1D texture lookup with LOD.
tex1Dprojtex1Dproj(s, t)1D texture lookup with projective divide.
tex2Dtex2D(s, t)2D texture lookup.
tex2Dbiastex2Dbias(s, t)2D texture lookup with bias.
tex2Dgradtex2Dgrad(s, t, ddx, ddy)2D texture lookup with a gradient.
tex2Dlodtex2Dlod(s, t)2D texture lookup with LOD.
tex2Dprojtex2Dproj(s, t)2D texture lookup with projective divide.
tex3Dtex3D(s, t)3D texture lookup.
tex3Dbiastex3Dbias(s, t)3D texture lookup with bias.
tex3Dgradtex3Dgrad(s, t, ddx, ddy)3D texture lookup with a gradient.
tex3Dlodtex3Dlod(s, t)3D texture lookup with LOD.
tex3Dprojtex3Dproj(s, t)3D texture lookup with projective divide.
texCUBEtexCUBE(s, t)Cube texture lookup.
texCUBEbiastexCUBEbias(s, t)Cube texture lookup with bias.
texCUBEgradtexCUBEgrad(s, t, ddx, ddy)Cube texture lookup with a gradient.
texCUBElodtex3Dlod(s, t)Cube texture lookup with LOD.
texCUBEprojtexCUBEproj(s, t)Cube texture lookup with projective divide.
transposetranspose(m)Returns the transpose of the matrix m.
trunctrunc(x)Truncates floating-point value(s) to integer value(s)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: