CG 内置函数 和 HLSL 内置函数
CG 内置函数 英伟达官网链接:
http://http.developer.nvidia.com/Cg/index_stdlib.html
abs
acos
all
any
asin
atan2
atan
bitCount
bitfieldExtract
bitfieldInsert
bitfieldReverse
ceil
clamp
clip
cosh
cos
cross
ddx
ddy
degrees
determinant
distance
dot
exp2
exp
faceforward
findLSB
findMSB
floatToIntBits
floatToRawIntBits
floor
fmod
frac
frexp
fwidth
intBitsToFloat
inverse
isfinite
isinf
isnan
ldexp
length
lerp
lit
log10
log2
log
max
min
modf
mul
normalize
pack
pow
radians
reflect
refract
round
rsqrt
saturate
sign
sincos
sinh
sin
smoothstep
sqrt
step
tanh
tan
tex1DARRAYbias
tex1DARRAYcmpbias
tex1DARRAYcmplod
tex1DARRAYfetch
tex1DARRAYlod
tex1DARRAY
tex1DARRAYproj
tex1DARRAYsize
tex1Dbias
tex1Dcmpbias
tex1Dcmplod
tex1Dfetch
tex1Dlod
tex1D
tex1Dproj
tex1Dsize
tex2DARRAYbias
tex2DARRAYfetch
tex2DARRAYlod
tex2DARRAY
tex2DARRAYproj
tex2DARRAYsize
tex2Dbias
tex2Dcmpbias
tex2Dcmplod
tex2Dfetch
tex2Dlod
tex2DMSARRAYfetch
tex2DMSARRAYsize
tex2DMSfetch
tex2DMSsize
tex2D
tex2Dproj
tex2Dsize
tex3Dbias
tex3Dfetch
tex3Dlod
tex3D
tex3Dproj
tex3Dsize
texBUF
texBUFsize
texCUBEARRAYbias
texCUBEARRAYlod
texCUBEARRAY
texCUBEARRAYsize
texCUBEbias
texCUBElod
texCUBE
texCUBEproj
texCUBEsize
texRBUF
texRBUFsize
texRECTbias
texRECTfetch
texRECTlod
texRECT
texRECTproj
texRECTsize
transpose
trunc
unpack
HLSL 内置函数:https://msdn.microsoft.com/en-us/library/ff471376(v=vs.85).aspx
Intrinsic Functions
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.
Name | Description | Minimum shader model |
---|---|---|
abort | Terminates the current draw or dispatch call being executed. | 4 |
abs | Absolute value (per component). | 1¹ |
acos | Returns the arccosine of each component of x. | 1¹ |
all | Test if all components of x are nonzero. | 1¹ |
AllMemoryBarrier | Blocks execution of all threads in a group until all memory accesses have been completed. | 5 |
AllMemoryBarrierWithGroupSync | Blocks execution of all threads in a group until all memory accesses have been completed and all threads in the group have reached this call. | 5 |
any | Test if any component of x is nonzero. | 1¹ |
asdouble | Reinterprets a cast value into a double. | 5 |
asfloat | Convert the input type to a float. | 4 |
asin | Returns the arcsine of each component of x. | 1¹ |
asint | Convert the input type to an integer. | 4 |
asuint | Reinterprets the bit pattern of a 64-bit type to a uint. | 5 |
asuint | Convert the input type to an unsigned integer. | 4 |
atan | Returns the arctangent of x. | 1¹ |
atan2 | Returns the arctangent of of two values (x,y). | 1¹ |
ceil | Returns the smallest integer which is greater than or equal to x. | 1¹ |
CheckAccessFullyMapped | Determines whether all values from a Sample or Load operation accessed mapped tiles in a tiled resource. | 5 |
clamp | Clamps x to the range [min, max]. | 1¹ |
clip | Discards the current pixel, if any component of x is less than zero. | 1¹ |
cos | Returns the cosine of x. | 1¹ |
cosh | Returns the hyperbolic cosine of x. | 1¹ |
countbits | Counts the number of bits (per component) in the input integer. | 5 |
cross | Returns the cross product of two 3D vectors. | 1¹ |
D3DCOLORtoUBYTE4 | Swizzles and scales components of the 4D vector xto compensate for the lack of UBYTE4 support in some hardware. | 1¹ |
ddx | Returns the partial derivative of x with respect to the screen-space x-coordinate. | 2¹ |
ddx_coarse | Computes a low precision partial derivative with respect to the screen-space x-coordinate. | 5 |
ddx_fine | Computes a high precision partial derivative with respect to the screen-space x-coordinate. | 5 |
ddy | Returns the partial derivative of x with respect to the screen-space y-coordinate. | 2¹ |
ddy_coarse | Computes a low precision partial derivative with respect to the screen-space y-coordinate. | 5 |
ddy_fine | Computes a high precision partial derivative with respect to the screen-space y-coordinate. | 5 |
degrees | Converts x from radians to degrees. | 1¹ |
determinant | Returns the determinant of the square matrix m. | 1¹ |
DeviceMemoryBarrier | Blocks execution of all threads in a group until all device memory accesses have been completed. | 5 |
DeviceMemoryBarrierWithGroupSync | Blocks execution of all threads in a group until all device memory accesses have been completed and all threads in the group have reached this call. | 5 |
distance | Returns the distance between two points. | 1¹ |
dot | Returns the dot product of two vectors. | 1 |
dst | Calculates a distance vector. | 5 |
errorf | Submits an error message to the information queue. | 4 |
EvaluateAttributeAtCentroid | Evaluates at the pixel centroid. | 5 |
EvaluateAttributeAtSample | Evaluates at the indexed sample location. | 5 |
EvaluateAttributeSnapped | Evaluates at the pixel centroid with an offset. | 5 |
exp | Returns the base-e exponent. | 1¹ |
exp2 | Base 2 exponent (per component). | 1¹ |
f16tof32 | Converts the float16 stored in the low-half of the uint to a float. | 5 |
f32tof16 | Converts an input into a float16 type. | 5 |
faceforward | Returns -n * sign(dot(i, ng)). | 1¹ |
firstbithigh | Gets the location of the first set bit starting from the highest order bit and working downward, per component. | 5 |
firstbitlow | Returns the location of the first set bit starting from the lowest order bit and working upward, per component. | 5 |
floor | Returns the greatest integer which is less than or equal to x. | 1¹ |
fma | Returns the double-precision fused multiply-addition of a * b + c. | 5 |
fmod | Returns the floating point remainder of x/y. | 1¹ |
frac | Returns the fractional part of x. | 1¹ |
frexp | Returns the mantissa and exponent of x. | 2¹ |
fwidth | Returns abs(ddx(x)) + abs(ddy(x)) | 2¹ |
GetRenderTargetSampleCount | Returns the number of render-target samples. | 4 |
GetRenderTargetSamplePosition | Returns a sample position (x,y) for a given sample index. | 4 |
GroupMemoryBarrier | Blocks execution of all threads in a group until all group shared accesses have been completed. | 5 |
GroupMemoryBarrierWithGroupSync | Blocks execution of all threads in a group until all group shared accesses have been completed and all threads in the group have reached this call. | 5 |
InterlockedAdd | Performs a guaranteed atomic add of value to the dest resource variable. | 5 |
InterlockedAnd | Performs a guaranteed atomic and. | 5 |
InterlockedCompareExchange | Atomically compares the input to the comparison value and exchanges the result. | 5 |
InterlockedCompareStore | Atomically compares the input to the comparison value. | 5 |
InterlockedExchange | Assigns value to dest and returns the original value. | 5 |
InterlockedMax | Performs a guaranteed atomic max. | 5 |
InterlockedMin | Performs a guaranteed atomic min. | 5 |
InterlockedOr | Performs a guaranteed atomic or. | 5 |
InterlockedXor | Performs a guaranteed atomic xor. | 5 |
isfinite | Returns true if x is finite, false otherwise. | 1¹ |
isinf | Returns true if x is +INF or -INF, false otherwise. | 1¹ |
isnan | Returns true if x is NAN or QNAN, false otherwise. | 1¹ |
ldexp | Returns x * 2exp | 1¹ |
length | Returns the length of the vector v. | 1¹ |
lerp | Returns x + s(y - x). | 1¹ |
lit | Returns a lighting vector (ambient, diffuse, specular, 1) | 1¹ |
log | Returns the base-e logarithm of x. | 1¹ |
log10 | Returns the base-10 logarithm of x. | 1¹ |
log2 | Returns the base-2 logarithm of x. | 1¹ |
mad | Performs an arithmetic multiply/add operation on three values. | 5 |
max | Selects the greater of x and y. | 1¹ |
min | Selects the lesser of x and y. | 1¹ |
modf | Splits the value x into fractional and integer parts. | 1¹ |
msad4 | Compares a 4-byte reference value and an 8-byte source value and accumulates a vector of 4 sums. | 5 |
mul | Performs matrix multiplication using x and y. | 1 |
noise | Generates a random value using the Perlin-noise algorithm. | 1¹ |
normalize | Returns a normalized vector. | 1¹ |
pow | Returns xy. | 1¹ |
printf | Submits a custom shader message to the information queue. | 4 |
Process2DQuadTessFactorsAvg | Generates the corrected tessellation factors for a quad patch. | 5 |
Process2DQuadTessFactorsMax | Generates the corrected tessellation factors for a quad patch. | 5 |
Process2DQuadTessFactorsMin | Generates the corrected tessellation factors for a quad patch. | 5 |
ProcessIsolineTessFactors | Generates the rounded tessellation factors for an isoline. | 5 |
ProcessQuadTessFactorsAvg | Generates the corrected tessellation factors for a quad patch. | 5 |
ProcessQuadTessFactorsMax | Generates the corrected tessellation factors for a quad patch. | 5 |
ProcessQuadTessFactorsMin | Generates the corrected tessellation factors for a quad patch. | 5 |
ProcessTriTessFactorsAvg | Generates the corrected tessellation factors for a tri patch. | 5 |
ProcessTriTessFactorsMax | Generates the corrected tessellation factors for a tri patch. | 5 |
ProcessTriTessFactorsMin | Generates the corrected tessellation factors for a tri patch. | 5 |
radians | Converts x from degrees to radians. | 1 |
rcp | Calculates a fast, approximate, per-component reciprocal. | 5 |
reflect | Returns a reflection vector. | 1 |
refract | Returns the refraction vector. | 1¹ |
reversebits | Reverses the order of the bits, per component. | 5 |
round | Rounds x to the nearest integer | 1¹ |
rsqrt | Returns 1 / sqrt(x) | 1¹ |
saturate | Clamps x to the range [0, 1] | 1 |
sign | Computes the sign of x. | 1¹ |
sin | Returns the sine of x | 1¹ |
sincos | Returns the sine and cosine of x. | 1¹ |
sinh | Returns the hyperbolic sine of x | 1¹ |
smoothstep | Returns a smooth Hermite interpolation between 0 and 1. | 1¹ |
sqrt | Square root (per component) | 1¹ |
step | Returns (x >= a) ? 1 : 0 | 1¹ |
tan | Returns the tangent of x | 1¹ |
tanh | Returns the hyperbolic tangent of x | 1¹ |
tex1D(s, t) | 1D texture lookup. | 1 |
tex1D(s, t, ddx, ddy) | 1D texture lookup. | 2¹ |
tex1Dbias | 1D texture lookup with bias. | 2¹ |
tex1Dgrad | 1D texture lookup with a gradient. | 2¹ |
tex1Dlod | 1D texture lookup with LOD. | 3¹ |
tex1Dproj | 1D texture lookup with projective divide. | 2¹ |
tex2D(s, t) | 2D texture lookup. | 1¹ |
tex2D(s, t, ddx, ddy) | 2D texture lookup. | 2¹ |
tex2Dbias | 2D texture lookup with bias. | 2¹ |
tex2Dgrad | 2D texture lookup with a gradient. | 2¹ |
tex2Dlod | 2D texture lookup with LOD. | 3 |
tex2Dproj | 2D texture lookup with projective divide. | 2¹ |
tex3D(s, t) | 3D texture lookup. | 1¹ |
tex3D(s, t, ddx, ddy) | 3D texture lookup. | 2¹ |
tex3Dbias | 3D texture lookup with bias. | 2¹ |
tex3Dgrad | 3D texture lookup with a gradient. | 2¹ |
tex3Dlod | 3D texture lookup with LOD. | 3¹ |
tex3Dproj | 3D texture lookup with projective divide. | 2¹ |
texCUBE(s, t) | Cube texture lookup. | 1¹ |
texCUBE(s, t, ddx, ddy) | Cube texture lookup. | 2¹ |
texCUBEbias | Cube texture lookup with bias. | 2¹ |
texCUBEgrad | Cube texture lookup with a gradient. | 2¹ |
texCUBElod | Cube texture lookup with LOD. | 3¹ |
texCUBEproj | Cube texture lookup with projective divide. | 2¹ |
transpose | Returns the transpose of the matrix m. | 1 |
trunc | Truncates floating-point value(s) to integer value(s) | 1 |
最新文章
- Redis/HBase/Tair比较
- Html5的一些基础知识
- PMP和PRINCE2
- [CF#286 Div2 D]Mr. Kitayuta's Technology(结论题)
- Linux内核同步方法
- .net 连接sqlserver类库
- 解决Win10默认占用80端口
- 庭审全程文字实录 z
- ios9新特性概述
- svn 如何解决冲突
- Struts2中有关struts-default.xml,struts.xml,struts.properties文件详解
- Linux进程关系(转载)
- Cocos2D中的Framerate状态
- EasyUI 分页 偶遇 问题
- IP是什么 DNS 域名与IP有什么不同
- Docker入门 第一课 --.Net Core 使用Docker全程记录
- Python之路番外(第二篇):PYTHON基本数据类型和小知识点
- 初级字典树查找在 Emoji、关键字检索上的运用 Part-2
- elasticsearch的索引自动清理及自定义清理
- JS获取周、月、季度日期