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

天行健 君子當自強而不息

高級著色語言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 閱讀(2576) 評論(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>
            av成人免费| 性刺激综合网| 亚洲激情专区| 欧美电影在线观看完整版| 亚洲成色精品| 欧美国产一区二区| 欧美精品一区二区三区四区| 日韩亚洲不卡在线| 亚洲精品久久久久| 国产精品日韩久久久| 欧美在线视频观看免费网站| 久久国产乱子精品免费女| 在线观看91久久久久久| 亚洲欧洲在线免费| 国产精品播放| 久久免费视频在线| 欧美成人自拍视频| 午夜精品久久久99热福利| 欧美一区二区视频在线| 亚洲人在线视频| 亚洲影院免费| 亚洲欧洲精品成人久久奇米网| 亚洲美女毛片| 韩日欧美一区| 99精品视频免费全部在线| 国产精品免费电影| 欧美高清在线一区二区| 国产精品国产三级国产aⅴ入口| 久久成人免费日本黄色| 美女国产精品| 欧美一级片在线播放| 你懂的视频一区二区| 欧美在线影院在线视频| 欧美片在线播放| 小辣椒精品导航| 欧美福利电影网| 久久蜜桃香蕉精品一区二区三区| 欧美国产一区二区| 久久综合色天天久久综合图片| 欧美日韩1080p| 欧美高清在线播放| 国产自产高清不卡| 亚洲少妇在线| 中国成人亚色综合网站| 免费h精品视频在线播放| 欧美一区二区三区喷汁尤物| 欧美精品在线观看播放| 欧美成人一区二区| 韩国v欧美v日本v亚洲v| 亚洲免费网址| 亚洲男人天堂2024| 欧美日韩一区二区三区免费| 亚洲大黄网站| 亚洲国产成人精品女人久久久| 欧美一级在线播放| 欧美伊人久久| 国产精品人人做人人爽| 99在线精品免费视频九九视| 亚洲美女中文字幕| 美日韩精品视频| 欧美mv日韩mv国产网站app| 国产亚洲毛片在线| 欧美一区二区三区婷婷月色| 欧美有码视频| 国产亚洲欧美日韩在线一区| 午夜精品视频| 欧美一级片久久久久久久| 国产精品jizz在线观看美国| 99riav国产精品| 一本久道综合久久精品| 欧美日韩四区| 亚洲一级影院| 午夜精品久久久久久久| 国产精品美女久久久浪潮软件| 一区二区欧美精品| 欧美一区二区三区成人| 国产在线精品成人一区二区三区| 欧美自拍偷拍| 蜜臀av在线播放一区二区三区| 亚洲成人原创| 欧美久久久久久久| 99热免费精品| 欧美一级视频一区二区| 国内精品视频久久| 久热精品视频在线观看一区| 亚洲第一天堂无码专区| 亚洲免费av电影| 国产精品v一区二区三区| 午夜影视日本亚洲欧洲精品| 久久久中精品2020中文| 亚洲黄色小视频| 欧美日精品一区视频| 性欧美暴力猛交另类hd| 亚洲高清不卡av| 亚洲午夜小视频| 黄色成人免费网站| 欧美日韩二区三区| 久久av二区| 日韩视频在线一区二区三区| 久久国产精品免费一区| 亚洲国产小视频在线观看| 欧美日韩精品欧美日韩精品| 亚洲欧美日韩在线播放| 亚洲国产精品久久久久秋霞不卡| 亚洲视频二区| 亚洲国产精品尤物yw在线观看| 欧美日韩免费视频| 欧美在线一二三四区| 亚洲精品视频免费| 久久久久欧美| 亚洲天堂网在线观看| 在线观看亚洲精品| 国产精品久久久久国产精品日日| 久久精品五月| 亚洲图片欧洲图片av| 欧美高清日韩| 久久久成人网| 亚洲自拍偷拍网址| 亚洲精品永久免费精品| 国产一区二区日韩| 国产精品黄视频| 欧美日韩成人综合天天影院| 久久久久.com| 午夜日韩视频| 亚洲视频1区2区| 亚洲片在线观看| 欧美成人a∨高清免费观看| 小黄鸭精品aⅴ导航网站入口 | 一本色道久久综合亚洲精品小说| 玖玖综合伊人| 久久久www成人免费无遮挡大片| 中文一区在线| 99热在这里有精品免费| 国内久久视频| 国产亚洲精品久久久| 国产精品乱子乱xxxx| 欧美日韩天堂| 欧美日韩国产色站一区二区三区| 免费看亚洲片| 美女精品在线| 狼人天天伊人久久| 久久婷婷麻豆| 久久免费视频网站| 久久亚洲影音av资源网| 久久精品成人一区二区三区蜜臀 | 亚洲福利久久| 亚洲电影自拍| 亚洲精品国精品久久99热一| 亚洲国产清纯| 99视频在线精品国自产拍免费观看| 亚洲国产日韩欧美一区二区三区| 欧美激情国产日韩| 亚洲国产99| 亚洲精品一区二区在线| 日韩午夜电影| 亚洲曰本av电影| 欧美在线影院| 久久久久久亚洲精品杨幂换脸 | 亚洲午夜极品| 欧美亚洲视频一区二区| 小黄鸭精品密入口导航| 久久久精品国产99久久精品芒果| 欧美一级理论片| 免费成人高清视频| 欧美日韩精品系列| 国产农村妇女精品一区二区| 国产一区二区三区精品久久久| 激情久久久久| 日韩午夜电影av| 亚洲欧美日本伦理| 久久深夜福利免费观看| 免费观看不卡av| 亚洲精品中文字幕女同| 亚洲欧美激情在线视频| 麻豆av福利av久久av| 欧美日韩 国产精品| 国产精品一区二区你懂的| 精品二区久久| 亚洲色图在线视频| 久久婷婷国产综合国色天香| 亚洲欧洲精品一区二区三区| 亚洲一区二区三区色| 免费日本视频一区| 国产精品外国| 亚洲精品在线免费观看视频| 欧美在线电影| 亚洲国产一区二区精品专区| 亚洲视频每日更新| 欧美a级大片| 国产女主播一区二区| 日韩一区二区久久| 久久久亚洲午夜电影| 亚洲精品国产欧美| 久久久美女艺术照精彩视频福利播放 | 久热精品在线| 99精品视频一区二区三区| 久久久久久久久一区二区| 国产精品成人免费视频 | 欧美先锋影音| 亚洲激情偷拍|