• <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>

            天行健 君子當自強而不息

            高級著色語言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 閱讀(7756) 評論(0)  編輯 收藏 引用

            公告

            導航

            統計

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關鏈接

            搜索

            最新評論

            久久一日本道色综合久久| 午夜视频久久久久一区| 久久久久久久97| 久久se精品一区二区| 色婷婷综合久久久久中文字幕| 亚洲国产日韩综合久久精品| 亚洲精品乱码久久久久66| 狠狠色婷婷综合天天久久丁香 | 成人久久综合网| 久久av免费天堂小草播放| 亚洲精品美女久久777777| 欧美与黑人午夜性猛交久久久 | 伊人精品久久久久7777| 国产精品久久波多野结衣| 久久无码AV中文出轨人妻| 国产成人久久777777| 久久综合亚洲欧美成人| 欧美黑人激情性久久| 久久久久国产精品三级网| 久久精品免费观看| 99久久99久久精品免费看蜜桃| 无码国内精品久久人妻麻豆按摩| 国产99久久精品一区二区| 天堂久久天堂AV色综合| 久久狠狠爱亚洲综合影院 | 亚洲精品乱码久久久久久自慰 | 狠狠色丁香婷婷久久综合| 精品久久久久久无码中文野结衣| 久久99国产精品尤物| 欧美一区二区三区久久综合| 久久久久久国产精品无码下载| 一本大道久久香蕉成人网| 日韩久久久久中文字幕人妻| 久久国产成人亚洲精品影院| 9191精品国产免费久久| 91久久精品电影| 精品久久久久国产免费| 久久久久人妻一区精品| 久久久久久毛片免费看| 中文精品久久久久人妻| 亚洲午夜久久久久妓女影院|