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

天行健 君子當自強而不息

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

max (Direct3D 9 HLSL)

Selects the greater of x and y.

Syntax

ret max(x, y)

Where:

Name In/Out Template Type Component Type Size
x in scalar, vector, or matrix float, int any
y in same as input x float, int same dimension(s) as input x
ret return type 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

 

min (Direct3D 9 HLSL)

Selects the lesser of x and y.

Syntax

ret min(x, y)

Where:

Name In/Out Template Type Component Type Size
x in scalar, vector, or matrix float, int any
y in same as input x float, int same dimension(s) as input x
ret return type 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

 

mul (Direct3D 9 HLSL)

Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.

Syntax

ret mul(x, y)

There are 9 overloaded versions of this function, to handle the different cases for the types and sizes of the x and y input arguments. The following table lists these versions.

Version Name Purpose Template Type Component Type Size
1          
  x in scalar float, int 1
  y in scalar same as input x 1
  ret out scalar same as input x 1
2          
  x in scalar float, int 1
  y in vector float, int any
  ret out vector float, int same dimension(s) as input y
3          
  x in scalar float, int 1
  y in matrix float, int any
  ret out matrix same as input y same dimension(s) as input y
4          
  x in vector float, int any
  y in scalar float, int 1
  ret out vector float, int same dimension(s) as input x
5          
  x in vector float, int any
  y in vector float, int same dimension(s) as input x
  ret out scalar float, int 1
6          
  x in vector float, int any
  y in matrix float, int rows = same dimension(s) as input x, columns = any
  ret out vector float, int same dimension(s) as input y columns
7          
  x in matrix float, int any
  y in scalar float, int 1
  ret out matrix float, int same dimension(s) as input x
8          
  x in matrix float, int any
  y in vector float, int number of columns in input x
  ret out vector float, int number of rows in input x
9          
  x in matrix float, int any
  y in matrix float, int rows = number of columns in input x
  ret out matrix float, int rows = number of rows in input x, columns = number of columns in input y

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

 

normalize (Direct3D 9 HLSL)

Returns the normalized vector x / length(x). If the length of x is 0, the result is indefinite.

Syntax

ret normalize(x)

Where:

Name In/Out Template Type Component Type Size
x in vector 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

 

pow (Direct3D 9 HLSL)

Returns xy.

Syntax

ret pow(x, y)

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
ret out same as input x float same dimension(s) as input x

Remarks

Special cases:

  • If x = 0, then the result will always be 0.
  • If x < 0, there will be a compile error.

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

Vertex Shader Pixel Shader
vs_1_1 ps_2_0

 

radians (Direct3D 9 HLSL)

Converts x from degrees to radians.

Syntax

ret radians(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_1_1

 

reflect (Direct3D 9 HLSL)

Returns the reflection vector v, given the entering ray direction i, and the surface normal n, as in:

v = i - 2 * dot(i, n) * n

Syntax

ret reflect(i, n)

Where:

Name In/Out Template Type Component Type Size
i in vector float any
n in vector float same dimension(s) as input i
ret out vector float same dimension(s) as input i

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

 

refract (Direct3D 9 HLSL)

Returns the refraction vector given the entering ray direction i, the surface normal n, and the refraction index ri. If the angle between i and n is too great for a given eta, refract returns (0,0,0).

Syntax

ret refract(i, n, ri)

Where:

Name In/Out Template Type Component Type Size
i in vector float any
n in vector float same dimension(s) as input i
ri in scalar float 1
refraction vector out vector float same dimension(s) as input i

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

 

rsqrt (Direct3D 9 HLSL)

Returns 1 / sqrt(x).

Syntax

ret rsqrt(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

 

saturate (Direct3D 9 HLSL)

Clamps x to the range [0, 1].

Syntax

ret saturate(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_1_1

 

sin (Direct3D 9 HLSL)

Returns the sine of x.

Syntax

ret sin(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

 

sincos (Direct3D 9 HLSL)

Returns the sine and cosine of x. sin(x) is stored in the output parameter s. cos(x) is stored in the output parameter c.

Syntax

sincos(x, out s, out c)

Where:

Name In/Out Template Type Component Type Size
x in scalar, vector, or matrix float any
s out same as input x float same dimension(s) as input x
c 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

 

sqrt (Direct3D 9 HLSL)

Square root (per component).

Syntax

ret sqrt(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

 

tan (Direct3D 9 HLSL)

Returns the tangent of x.

Syntax

ret tan(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

 

transpose (Direct3D 9 HLSL)

Returns the transpose of the input matrix x. If the dimensions of the source matrix is p-rows x q-columns, the resulting matrix is q-columns x p-rows.

Syntax

ret transpose(x)

Where:

Name In/Out Template Type Component Type Size
x in matrix float, int, bool any
ret out matrix float, int, bool rows = same number of columns as input x, columns = same number of rows 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_1

 

大多數函數已經重載以使其可以對所有內建類型有意義。例如,abs對所有數值類型有意義,所以它為所有這些數值類型進行了重載。又例如,叉積的叉乘僅對3D向量有意義,所以它對所有類型的3D向量(比如:int,float,double的3D向量)進行了重載。另一方面,線性插值——lerp,對于數值、2D、3D和4D向量有意義,因此重載了這些類型。

注意:如果你傳遞進去一個非數值類型到一個(要求)數值類型的函數,也就是一個僅能對數值類型進行操作的函數(比如:cos(x)),那么這個函數會對傳進去的每個分量進行操作。例如,你寫:

floats v = float3 (0.0f, 0.0f, 0.0f);

v = cos(v);

那么函數將會對每個分量進行操作:v=(cos(x),cos(y),cos(z))。

下例展示了這些固有的函數可能被調用的方式:

float x = sin(1.0f);       // sine of 1.0f radian.

float y = sqrt(4.0f);      // square root of 4.

 

vector u = {1.0f, 2.0f, -3.0f, 0.0f};

vector v = {3.0f, -1.0f, 0.0f, 2.0f};

float  s = dot(u, v);      // compute dot product of u and v.

 

float3 i = {1.0f, 0.0f, 0.0f};

float3 j = {0.0f, 1.0f, 0.0f};

float3 k = cross(i, j);    // compute cross product of i and j.

 

matrix<float, 2, 2> M = {1.0f, 2.0f, 3.0f, 4.0f};

matrix<float, 2, 2> T = transpose(M); // compute transpose


posted on 2008-04-05 18:28 lovedday 閱讀(2574) 評論(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>
            亚洲成人在线视频网站| 日韩视频―中文字幕| 亚洲欧美日韩国产一区| 亚洲福利视频二区| 在线成人h网| 亚洲精品日本| 亚洲免费小视频| 久久精品中文| 欧美成人免费在线视频| 亚洲高清在线观看一区| 亚洲美女在线观看| 欧美亚洲一区二区在线| 久久久噜噜噜久噜久久| 欧美精品粉嫩高潮一区二区 | 久久久国产91| 免费91麻豆精品国产自产在线观看| 久久综合国产精品| 亚洲精品欧美一区二区三区| 亚洲欧美国产视频| 免费在线视频一区| 国产精品一卡二卡| 亚洲精品中文字幕在线| 欧美一级黄色录像| 亚洲精品久久久久久久久久久久| 亚洲视频中文| 蜜桃精品久久久久久久免费影院| 欧美网站在线| 亚洲福利视频在线| 午夜精品区一区二区三| 亚洲高清网站| 久久成人国产精品| 国产精品第三页| 亚洲激情一区二区三区| 欧美亚洲在线播放| 日韩午夜在线电影| 欧美99在线视频观看| 国产区二精品视| 亚洲综合精品四区| 日韩一区二区精品视频| 蜜桃av噜噜一区| 黄色亚洲精品| 欧美一级夜夜爽| 99re6热在线精品视频播放速度| 久久精品国产99精品国产亚洲性色 | 久久综合狠狠综合久久综青草| 欧美三区美女| 亚洲精品久久| 你懂的亚洲视频| 欧美在线综合| 国产一区二区三区高清在线观看| 亚洲午夜伦理| 日韩亚洲视频在线| 欧美日本精品在线| 欧美精品电影| 亚洲三级国产| 欧美大尺度在线观看| 欧美中文字幕不卡| 国产色产综合产在线视频| 午夜精品av| 午夜精品一区二区三区在线视| 欧美四级在线观看| 亚洲女同在线| 亚洲欧美国产不卡| 国产日本欧美一区二区| 欧美亚洲视频| 久久精品99无色码中文字幕| 国内精品久久久久久久影视麻豆| 久久精品国产96久久久香蕉| 午夜影院日韩| 亚洲国产成人tv| 亚洲精品三级| 国产精品视频网址| 久久精品五月| 久久人人爽人人爽爽久久| 亚洲电影免费在线观看| 亚洲风情亚aⅴ在线发布| 欧美国产日韩一区二区| 正在播放亚洲| 香蕉免费一区二区三区在线观看 | 日韩西西人体444www| 99这里有精品| 国产视频久久久久| 欧美大片91| 欧美日韩国产丝袜另类| 亚洲欧美日韩精品久久久| 欧美亚洲视频在线观看| 亚洲国产美女| 亚洲色无码播放| 国产综合第一页| 亚洲久久在线| 国产在线欧美日韩| 亚洲日产国产精品| 国产视频精品免费播放| 亚洲电影在线| 国产三区精品| 日韩一二三在线视频播| 好看的日韩av电影| 在线亚洲自拍| 亚洲精品永久免费| 亚洲欧美在线另类| 亚洲精品欧美精品| 亚洲欧美激情视频| 亚洲精品欧美日韩专区| 午夜影院日韩| 亚洲自拍偷拍福利| 欧美99在线视频观看| 欧美夜福利tv在线| 欧美日韩精品免费看| 老色鬼久久亚洲一区二区| 一区二区91| 亚洲免费观看在线观看| 欧美一区二区三区免费观看视频| 日韩视频―中文字幕| 久久国产综合精品| 性欧美暴力猛交另类hd| 欧美日本在线看| 欧美99在线视频观看| 亚洲欧美综合精品久久成人| 99这里只有精品| 美女国内精品自产拍在线播放| 久久高清一区| 国产精品一区二区视频| 99亚洲精品| 亚洲一级二级| 欧美丝袜一区二区三区| 亚洲另类视频| 一区二区三区四区五区视频 | 亚洲一区网站| 欧美精品一区二区三区久久久竹菊 | 国产亚洲综合性久久久影院| 亚洲精品影院| 亚洲毛片一区| 欧美精品一区二区三区很污很色的| 美女亚洲精品| 曰本成人黄色| 毛片av中文字幕一区二区| 理论片一区二区在线| 国产专区欧美精品| 久久精品人人| 免费中文日韩| 亚洲黄色小视频| 欧美激情精品久久久久久免费印度| 欧美.www| 日韩视频精品在线观看| 欧美国产专区| 日韩视频在线免费观看| 亚洲综合第一| 国产亚洲综合精品| 久久久人成影片一区二区三区| 蜜桃视频一区| 亚洲精品久久久久久久久久久| 欧美人妖在线观看| 亚洲色无码播放| 久久一区视频| 亚洲片在线资源| 欧美性猛交xxxx免费看久久久 | 亚洲欧美激情在线视频| 国产精品国产三级国产aⅴ浪潮| 一区二区三区不卡视频在线观看| 亚洲一区国产精品| 国产在线观看91精品一区| 久久综合久久综合久久综合| 亚洲狠狠婷婷| 欧美在现视频| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美精品一区二区三区四区| 一区二区三区欧美在线| 久久综合精品国产一区二区三区| 亚洲精选久久| 国产一区二区高清| 欧美美女bbbb| 久久久九九九九| 中文日韩欧美| 欧美激情在线狂野欧美精品| 亚洲影院色无极综合| 国产综合视频在线观看| 欧美精品三区| 欧美大片第1页| 亚洲午夜小视频| 伊伊综合在线| 欧美日韩在线不卡| 久久久久久香蕉网| 一区二区三区国产盗摄| 女人香蕉久久**毛片精品| 亚洲免费一在线| 亚洲精品美女久久7777777| 国产亚洲欧美日韩精品| 欧美日韩小视频| 欧美va亚洲va日韩∨a综合色| 亚洲欧美国产精品va在线观看 | 久久久亚洲欧洲日产国码αv| 亚洲卡通欧美制服中文| 久久久免费精品| 欧美一区高清| 中国日韩欧美久久久久久久久| 亚洲国产二区| 一区二区视频免费完整版观看| 国产精品嫩草久久久久| 欧美乱在线观看| 欧美精品一区二区三区四区 |