Shader变量



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)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Unity中,可以使用一些内置的方法来设置Unity Shader变量。 这些方法包括: 1. SetColor:用于设置颜色值。 2. SetColorArray:用于设置颜色数组属性。 3. SetFloat:用于设置指定浮点值。 4. SetFloatArray:用于设置浮点数组属性。 5. SetInt:用于设置指定的整数值。 6. SetMatrix:用于设置指定的四维矩阵。 7. SetMatrixArray:用于设置指定的四维矩阵数组属性。 8. SetOverrideTag:用于设置材质上的覆盖标签/值。 9. SetPass:用于激活给定的通道进行渲染。 10. SetShaderPassEnabled:用于在每个材质级别上启用或禁用着色器传递。 11. SetTexture:用于设置一个图片纹理。 12. SetTextureOffset:用于设置图片纹理的位置偏移量。 13. SetTextureScale:用于设置图片纹理的放置比例。 14. SetVector:用于设置四维向量。 15. SetVectorArray:用于设置四维向量数组属性。 这些方法可以根据需要设置Unity Shader中的不同类型的变量,如颜色、浮点数、矩阵、纹理和向量等。 使用这些方法可以方便地操作Unity Shader中的变量,而不需要手动计算一些值。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Unity Shader入门精要第四章:Unity Shader 的内置变量(数学篇)](https://blog.csdn.net/aoxuestudy/article/details/123976015)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [关于unity 调用Shader变量的方式](https://blog.csdn.net/dxs1990/article/details/124045419)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值