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

天行健 君子當(dāng)自強而不息

高級著色語言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

 

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

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

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

v = cos(v);

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

下例展示了這些固有的函數(shù)可能被調(diào)用的方式:

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 閱讀(2571) 評論(0)  編輯 收藏 引用

公告

導(dǎo)航

統(tǒng)計

常用鏈接

隨筆分類(178)

3D游戲編程相關(guān)鏈接

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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视频在线| 最新成人在线| 一级成人国产| 欧美一区二区三区视频| 久久久久久午夜| 欧美高清一区二区| 欧美日韩亚洲视频一区| 国产伦精品一区二区三区四区免费 | 一区二区三区四区五区精品视频 | 久久成人精品电影| 毛片精品免费在线观看| 欧美日韩福利在线观看| 久久综合激情| 免费在线观看精品| 99精品欧美| 久久久精彩视频| 欧美日韩mv| 怡红院av一区二区三区| 一区二区三区欧美成人| 鲁鲁狠狠狠7777一区二区| 最新国产成人av网站网址麻豆| 一本久道久久综合婷婷鲸鱼| 久久久久久久一区| 欧美午夜无遮挡| 一区久久精品| 国产视频久久久久久久| 99在线|亚洲一区二区| 亚洲精品你懂的| 亚洲一区久久久| 欧美精品aa| 经典三级久久| 欧美亚洲一级| 亚洲人成高清| 美女脱光内衣内裤视频久久影院 | 欧美日韩不卡合集视频| 伊人久久男人天堂| 欧美亚洲在线观看| 亚洲精品美女| 欧美成ee人免费视频| 国产有码一区二区| 欧美在线观看你懂的| 亚洲精品视频在线观看免费| 久久免费国产| 国产一区二区三区日韩欧美| 亚洲女同同性videoxma| 亚洲精品免费在线观看| 欧美大片在线观看一区| 亚洲国产一区二区三区高清| 麻豆精品视频在线观看视频| 性做久久久久久久久| 国产乱码精品| 午夜精品三级视频福利| 亚洲免费观看视频| 欧美全黄视频| 99re6这里只有精品| 欧美顶级大胆免费视频| 久久亚洲精品网站| 亚洲高清成人| 亚洲第一在线| 欧美成人免费在线视频| 亚洲人体影院| 最新日韩中文字幕| 免费毛片一区二区三区久久久| 午夜一区二区三视频在线观看 | 亚洲欧洲日韩综合二区| 欧美肥婆bbw| 欧美第一黄网免费网站| 9色国产精品| 一本色道久久99精品综合| 国产精品日韩精品欧美在线 | 亚洲国产天堂久久综合| 亚洲成人在线视频播放 | 欧美一级成年大片在线观看| 国产尤物精品| 欧美成人激情视频| 欧美日本免费| 西瓜成人精品人成网站| 欧美在线电影| 亚洲乱码国产乱码精品精可以看 | 欧美国产欧美亚州国产日韩mv天天看完整| 欧美精品一区二| 一本色道久久综合狠狠躁篇怎么玩 | 欧美日本韩国在线| 国产精品久久久久久久久借妻 | 国产亚洲毛片在线| 裸体歌舞表演一区二区| 欧美高清自拍一区| 亚洲高清激情| 一区二区精品国产| 激情六月婷婷久久| 日韩午夜电影| 国产亚洲欧美日韩美女| 亚洲福利视频一区| 国产精品视频一区二区三区| 久久综合色88| 国产精品大片wwwwww| 久久婷婷人人澡人人喊人人爽| 久久一区二区三区四区| 亚洲少妇在线| 狂野欧美激情性xxxx欧美| 国产精品入口尤物| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美激情精品久久久久久蜜臀 | 国产午夜亚洲精品不卡| 最新亚洲电影| 在线不卡欧美| 亚洲一区二区三区免费视频| 亚洲高清av| 校园激情久久| 一区二区三区精品久久久| 久久国产福利| 午夜精品短视频| 欧美日韩国产区一| 欧美激情一区二区三区在线| 国产欧美韩国高清| 一区二区欧美视频| 亚洲黄网站在线观看| 久久精品日产第一区二区| 午夜精彩视频在线观看不卡| 欧美久久九九| 亚洲国产精品专区久久| 尤物在线观看一区| 午夜欧美大片免费观看| 亚洲欧美综合网| 欧美日韩综合视频网址| 最近看过的日韩成人| 亚洲国产成人精品久久| 久久gogo国模裸体人体| 久久精品中文字幕一区二区三区| 欧美亚男人的天堂| 日韩视频在线一区二区| 一道本一区二区| 欧美日韩精品在线观看| 欧美成人精品激情在线观看| 性视频1819p久久| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲欧洲av一区二区| 亚洲欧美一区二区激情| 国产精品国产自产拍高清av王其 | 日韩午夜电影av| 一本色道久久精品| 欧美性猛片xxxx免费看久爱| 在线亚洲美日韩| 裸体女人亚洲精品一区| 亚洲一区在线播放| 国产精品无码永久免费888| 亚洲字幕一区二区| 久久精品国产视频| 欧美日本韩国| 亚洲性感美女99在线| 久久国产夜色精品鲁鲁99| 狠狠色综合网站久久久久久久| 久久久久久黄| 亚洲精品一区二区三区在线观看 | 亚洲福利视频一区| 在线亚洲免费视频| 国产区精品在线观看| 久久天天狠狠| 亚洲美女毛片| 欧美中文在线观看| 亚洲国产成人av| 欧美色图首页| 亚洲婷婷综合色高清在线| 欧美黑人在线观看| 亚洲欧美日韩天堂| 在线视频欧美精品| 国产精品一区二区三区四区 | 国产精品你懂的在线| 久久精品国产免费| 亚洲免费电影在线| 久久婷婷国产综合尤物精品| 中日韩高清电影网| 国产一区二区主播在线| 欧美激情精品久久久久久| 亚洲四色影视在线观看| 麻豆精品在线播放| 亚洲午夜免费福利视频| 韩国精品久久久999| 欧美日韩一区二区三区四区五区| 欧美综合77777色婷婷| 99综合在线| 免费久久99精品国产自| 午夜久久tv| 99精品欧美一区| 精品福利电影| 国产精品免费视频观看| 欧美成人网在线| 久久福利电影| 亚洲欧美日韩一区在线观看| 日韩视频免费观看| 欧美成人影音| 久久久久久9| 午夜精品视频网站| 亚洲尤物在线视频观看| 亚洲剧情一区二区|