青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天行健 君子當自強而不息

高級著色語言HLSL入門(6)

16.7內建函數

HLSL有一個豐富的內建函數的集合,它們對3D圖形來說非常有用。下表是一個刪減了的列表,注意:要得到更多的參考,可以參看DirectX文檔中內建HLSL函數的完整列表。

以下表格中,//<variable>//表示變量variable的模(例如向量的絕對值)。

函數

描述

abs(x)

返回 |x|

ceil(x)

返回 ≥ x 的最小整數

clamp(x, a, b)

Clamps x to the range [a, b] and returns the result.

cross(u, v)

返回 u × v(叉積)

degrees(x)

轉換 x 從弧度到角度

determinant(M)

返回矩陣M的行列式det(M)

distance(u, v)

返回u點和v點之間的距離||v - u||

dot(u, v)

返回 u · v(點積)

floor(x)

返回 ≤ x 的最大整數

length(v)

返回 ||v||

lerp(u, v, t)

在u和v之間線性插值,參數 t 在[0, 1 ]之間變化。

log(x)

返回 ln(x)

log10(x)

返回 log10(x)

log2(x)

返回 log2(x)

max(x, y)

如果x ≥ y,則返回 x;否則返回 y

min(x, y)

如果 x ≤ y,返回x;否則返回 y

mul(M, N)

返回矩陣乘積 MN. 注意:矩陣乘積必須是已定義的. 如果M是一個向量,它被作為一個行向量,則向量-矩陣(vector-matrix)乘法是已定義的。類似的,如果N 是一個向量,他被作為一個列向量,則矩陣-向量(matrix-vector)乘法是已定義的。

normalize(v)

返回 v/∥v∥

pow(b, n)

返回 bn

radians(x)

轉換 x 從 角度 到 弧度

reflect(v, n)

給定向量v和表面法線n,計算其反射向量

refract(v,n, eta)

給定向量v、表面法線n和兩種材質的兩個索引的比率eta,計算其折射向量. 翻看一下物理書中Snell的規則或者在互聯網上搜索一下關于refraction(反射)的信息

rsqrt(x)

返回x的平方根的倒數

saturate(x)

返回clamp(x, 0.0, 1.0)

sin(x)

返回x的正弦,其中x單位為弧度

sincos(in x, out s, out c)

返回x的正弦和余弦,其中x單位為弧度

sqrt(x)

返回x的平方根

tan(x)

返回x的正切,其中 x 單位為弧度

transpose(M)

返回M的轉置

 

abs (Direct3D 9 HLSL)

Computes the absolute value of each component.

Syntax

ret abs(x)

Where:

Name In/Out Template Type Component Type Size
x in scalar, vector, or matrix float, int any
ret out same as input x same as input x same dimension(s) as input x

Minimum Shader Version

This intrinsic function is supported in the following (or above) shader versions:

Vertex Shader Pixel Shader
vs_1_1 ps_1_4

 

 

ceil (Direct3D 9 HLSL)

Returns the smallest integer which is greater than or equal to x.

Syntax

ret ceil(x)

Where:

Name In/Out Template Type Component Type Size
x in scalar, vector, or matrix float any
ret out same as input x float same dimension(s) as input x

Minimum Shader Version

This intrinsic function is supported in the following (or above) shader versions:

Vertex Shader Pixel Shader
vs_1_1 ps_2_0

 

 

clamp (Direct3D 9 HLSL)

Clamps x to the range [min, max].

Syntax

ret clamp(x, min, max)

Where:

Name In/Out Template Type Component Type Size
x in scalar, vector, or matrix float, int any
min in same as input x float, int same dimension(s) as input x
max in same as input x float, int same dimension(s) as input x
ret out same as input x float, int same dimension(s) as input x

Minimum Shader Version

This intrinsic function is supported in the following (or above) shader versions:

Vertex Shader Pixel Shader
vs_1_1 ps_1_4

 

cross (Direct3D 9 HLSL)

Returns the cross product of two 3D vectors.

Syntax

ret cross(x, y)

Where:

Name In/Out Template Type Component Type Size
x in vector float 3
y in vector float 3
ret out vector float 3

Minimum Shader Version

This intrinsic function is supported in the following (or above) shader versions:

Vertex Shader Pixel Shader
vs_1_1 ps_1_4

 

 

degrees (Direct3D 9 HLSL)

Converts x from radians to degrees.

Syntax

ret degrees(x)

Where:

Name In/Out Template Type Component Type Size
x in scalar, vector, or matrix float any
ret out same as input x float same dimension(s) as input x

Minimum Shader Version

This intrinsic function is supported in the following (or above) shader versions:

Vertex Shader Pixel Shader
vs_1_1 ps_2_0

 

 

determinant (Direct3D 9 HLSL)

Returns the determinant of the square matrix m.

Syntax

ret determinant(m)

Where:

Name In/Out Template Type Component Type Size
m in matrix float any (number of rows = number of columns)
ret out scalar float 1

Minimum Shader Version

This intrinsic function is supported in the following (or above) shader versions:

Vertex Shader Pixel Shader
vs_1_1 ps_1_4

 

distance (Direct3D 9 HLSL)

Returns the distance between two points x and y.

Syntax

ret distance(x, y)

Where:

Name In/Out Template Type Component Type Size
x in vector float any
y in vector float same dimension(s) as input x
ret out scalar float 1

Minimum Shader Version

This intrinsic function is supported in the following (or above) shader versions:

Vertex Shader Pixel Shader
vs_1_1 ps_2_0

 

dot (Direct3D 9 HLSL)

Returns the • product of two vectors, x and y.

Syntax

ret dot(x, y)

Where:

Name In/Out Template Type Component Type Size
x in vector float, int any
y in vector float, int same dimensions(s) as input x
ret out scalar float, int 1

Minimum Shader Version

This intrinsic function is supported in the following (or above) shader versions:

Vertex Shader Pixel Shader
vs_1_1 ps_1_1

 

 

floor (Direct3D 9 HLSL)

Returns the greatest integer which is less than or equal to x.

Syntax

ret floor(x)

Where:

Name In/Out Template Type Component Type Size
x in scalar, vector, or matrix float any
ret out same as input x float same dimension(s) as input x

Minimum Shader Version

This intrinsic function is supported in the following (or above) shader versions:

Vertex Shader Pixel Shader
vs_1_1 ps_2_0

 

 

 

length (Direct3D 9 HLSL)

Returns the length of the vector x.

Syntax

ret length(x)

Where:

Name In/Out Template Type Component Type Size
x in vector float any
ret out scalar float 1

Minimum Shader Version

This intrinsic function is supported in the following (or above) shader versions:

Vertex Shader Pixel Shader
vs_1_1 ps_2_0

 

 

lerp (Direct3D 9 HLSL)

Returns x + s(y - x). This linearly interpolates between x and y, such that the return value is x when s is 0, and y when s is 1.

Syntax

ret lerp(x, y, s)

Where:

Name In/Out Template Type Component Type Size
x in scalar, vector, or matrix float any
y in same as input x float same dimension(s) as input x
s in same as input x float same dimension(s) as input x
ret out same as input x float same dimension(s) as input x

Minimum Shader Version

This intrinsic function is supported in the following (or above) shader versions:

Vertex Shader Pixel Shader
vs_1_1 ps_1_4

 

 

log (Direct3D 9 HLSL)

Returns the base-e logarithm of x. If x is negative, the function returns indefinite. If x is 0, the function returns +INF.

Syntax

ret log(x)

Where:

Name In/Out Template Type Component Type Size
x in scalar, vector, or matrix float any
ret out same as input x float same dimension(s) as input x

Minimum Shader Version

This intrinsic function is supported in the following (or above) shader versions:

Vertex Shader Pixel Shader
vs_1_1 ps_2_0

 

log10 (Direct3D 9 HLSL)

Returns the base-10 logarithm of x. If x is negative, the function returns indefinite. If x is 0, the function returns +INF.

Syntax

ret log10(x)

Where:

Name In/Out Template Type Component Type Size
x in scalar, vector, or matrix float any
ret out same as input x float same dimension(s) as input x

Minimum Shader Version

This intrinsic function is supported in the following (or above) shader versions:

Vertex Shader Pixel Shader
vs_1_1 ps_2_0

 

 

log2 (Direct3D 9 HLSL)

Returns the base-2 logarithm of x. If x is negative, the function returns indefinite. If x is 0, the function returns +INF.

Syntax

ret log2(x)

Where:

Name In/Out Template Type Component Type Size
x in scalar, vector, or matrix float any
ret out same as input x float same dimension(s) as input x

Minimum Shader Version

This intrinsic function is supported in the following (or above) shader versions:

Vertex Shader Pixel Shader
vs_1_1 ps_2_0

posted on 2008-04-05 18:05 lovedday 閱讀(7817) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


公告

導航

統計

常用鏈接

隨筆分類(178)

3D游戲編程相關鏈接

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲一区二区三区免费观看| 在线精品视频免费观看| 亚洲精品你懂的| 亚洲第一在线视频| 老牛国产精品一区的观看方式| 狠狠久久婷婷| 男人插女人欧美| 免费视频久久| 亚洲免费黄色| 亚洲国产专区校园欧美| 欧美精品三级| 亚洲一区二区三区免费在线观看| 日韩视频在线观看| 欧美无乱码久久久免费午夜一区| 宅男噜噜噜66一区二区| 99国产一区| 国产精品美女久久久久久2018| 欧美亚洲自偷自偷| 欧美一区二区视频网站| 亚洲国产精品一区二区www| 亚洲观看高清完整版在线观看| 欧美sm重口味系列视频在线观看| 99视频有精品| 亚洲一线二线三线久久久| 国产一区二区三区四区老人| 欧美二区在线播放| 欧美日韩亚洲在线| 久久精品国产免费观看| 美女黄毛**国产精品啪啪| 一区二区三区视频在线看| 亚洲午夜精品在线| 亚洲国产精品视频| 亚洲永久免费精品| 亚洲激情在线观看| 亚洲免费视频一区二区| 亚洲精品人人| 久久成人18免费网站| 99re热精品| 久久精品99国产精品日本| 日韩一区二区精品| 欧美影视一区| 一区二区三区 在线观看视| 午夜精品视频网站| 亚洲欧洲精品一区二区三区不卡| 亚洲一级二级在线| 亚洲黄色毛片| 欧美在线免费视屏| 亚洲在线视频免费观看| 久久综合色8888| 欧美在线网站| 国产精品久久久久久久久果冻传媒| 老司机久久99久久精品播放免费| 欧美另类69精品久久久久9999| 久久久福利视频| 国产精品久久97| 亚洲电影自拍| 永久555www成人免费| 亚洲专区免费| 亚洲一区二区在线播放| 欧美成人一区二区三区| 你懂的国产精品永久在线| 国产欧美日韩一级| 亚洲自啪免费| 午夜欧美精品| 国产精品久久久久久久久久直播| 亚洲国产成人在线| 亚洲国产婷婷| 久久影视精品| 久久伊伊香蕉| 一区二区三区在线视频观看 | 亚洲人体大胆视频| 久久久亚洲成人| 久久夜色精品国产欧美乱| 国产一级揄自揄精品视频| 亚洲免费一区二区| 香蕉久久夜色精品| 国产精品区二区三区日本| 亚洲色图制服丝袜| 亚洲欧美在线磁力| 国产精品区一区二区三区| 亚洲综合日韩| 久久九九全国免费精品观看| 国产精品系列在线播放| 欧美一区二区在线| 久久一区欧美| 亚洲精品乱码久久久久久按摩观 | 欧美一区二区三区四区夜夜大片| 午夜精品免费在线| 国产一区二区在线观看免费| 久久疯狂做爰流白浆xx| 欧美成人按摩| 中日韩美女免费视频网址在线观看 | 久久亚洲精品一区二区| 欧美成人免费va影院高清| 亚洲激情成人网| 欧美精品在线免费播放| 亚洲一区二区视频在线观看| 欧美一区二区私人影院日本| 狠狠色噜噜狠狠色综合久| 免费成人高清在线视频| 日韩亚洲欧美一区二区三区| 亚洲免费一区二区| 国内一区二区在线视频观看 | 亚洲欧美另类国产| 久久视频一区| 一本一道久久综合狠狠老精东影业| 欧美性大战久久久久| 久久精品国产2020观看福利| 亚洲黄色av| 久久久午夜视频| 一卡二卡3卡四卡高清精品视频| 国产小视频国产精品| 欧美福利一区二区| 欧美在线一区二区| 一区二区国产在线观看| 欧美高清视频在线观看| 亚洲欧美一区二区原创| 亚洲麻豆一区| 136国产福利精品导航网址| 国产精品久久久久久久久免费桃花 | 亚洲欧美第一页| 亚洲国产成人在线播放| 欧美一区二区三区精品| 国产精品欧美日韩| 久久国产精品高清| 日韩午夜三级在线| 免费中文日韩| 久久免费高清| 午夜精品理论片| 国产一区二区精品| 国产精品国产成人国产三级| 久久综合网色—综合色88| 亚洲美洲欧洲综合国产一区| 欧美.日韩.国产.一区.二区| 羞羞答答国产精品www一本| 亚洲精品午夜精品| 狠狠色狠狠色综合日日小说| 国产欧美日本一区二区三区| 欧美久久久久久久久久| 久久国产精品免费一区| 亚洲精品看片| 欧美高清视频在线播放| 久久精品国产999大香线蕉| 一本大道av伊人久久综合| 亚洲日本欧美日韩高观看| 国产综合欧美在线看| 国产精品男人爽免费视频1 | 一区二区精品在线观看| 亚洲欧洲日本专区| 久久综合五月| 久久色在线播放| 性做久久久久久| 欧美怡红院视频| 午夜久久影院| 午夜精品久久久久久久99热浪潮 | 久久五月天婷婷| 久久午夜电影| 久久综合九色综合欧美狠狠| 午夜久久99| 久久久久国产精品午夜一区| 亚洲欧美日韩直播| 亚洲一线二线三线久久久| 日韩系列在线| 亚洲一区二区动漫| 亚洲午夜精品一区二区| 亚洲视频1区2区| 午夜精品区一区二区三| 久久本道综合色狠狠五月| 亚洲欧美在线免费观看| 亚洲美女一区| 亚洲一区欧美一区| 欧美一区二区三区婷婷月色 | 欧美成人影音| 亚洲高清激情| 亚洲三级免费观看| 日韩一区二区精品在线观看| 99在线热播精品免费| 小处雏高清一区二区三区| 久久gogo国模啪啪人体图| 久久久国产精品一区二区中文 | 亚洲国产视频a| 亚洲激情在线| 一区二区电影免费观看| 日韩视频在线观看| 性欧美大战久久久久久久免费观看| 欧美一区二区视频在线观看2020 | 一本色道精品久久一区二区三区| 亚洲综合999| 久久精品中文字幕一区二区三区| 久久免费偷拍视频| 亚洲另类春色国产| 午夜亚洲视频| 免费成人av资源网| 国产精品永久免费观看| 亚洲国产成人在线视频| 亚洲婷婷在线| 久久国产精品99精品国产| 亚洲精品久久久蜜桃| 欧美在线播放| 欧美精品成人一区二区在线观看|