• <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內(nèi)建函數(shù)

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

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

            函數(shù)

            描述

            abs(x)

            返回 |x|

            ceil(x)

            返回 ≥ x 的最小整數(shù)

            clamp(x, a, b)

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

            cross(u, v)

            返回 u × v(叉積)

            degrees(x)

            轉(zhuǎn)換 x 從弧度到角度

            determinant(M)

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

            distance(u, v)

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

            dot(u, v)

            返回 u · v(點積)

            floor(x)

            返回 ≤ x 的最大整數(shù)

            length(v)

            返回 ||v||

            lerp(u, v, t)

            在u和v之間線性插值,參數(shù) 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)

            轉(zhuǎn)換 x 從 角度 到 弧度

            reflect(v, n)

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

            refract(v,n, eta)

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

            rsqrt(x)

            返回x的平方根的倒數(shù)

            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的轉(zhuǎn)置

             

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

            公告

            導航

            統(tǒng)計

            常用鏈接

            隨筆分類(178)

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

            搜索

            最新評論

            久久久久成人精品无码中文字幕| 国产精品gz久久久| 久久中文字幕无码专区| 欧美精品国产综合久久| 亚洲国产美女精品久久久久∴| 久久亚洲欧美国产精品| 丰满少妇人妻久久久久久4| 狠狠久久综合| 午夜不卡久久精品无码免费| 波多野结衣中文字幕久久| 久久精品国产精品亚洲下载 | 久久国产精品无码一区二区三区 | 久久久精品久久久久久| 久久99热这里只有精品国产| 国产午夜精品理论片久久影视| 久久精品国产99久久香蕉| 浪潮AV色综合久久天堂| 久久精品国产亚洲av瑜伽| 久久九九精品99国产精品| 天天影视色香欲综合久久| 久久免费国产精品一区二区| 狠狠色噜噜色狠狠狠综合久久| 人人狠狠综合久久亚洲88| 色偷偷88888欧美精品久久久| 久久久WWW成人免费精品| 久久国产精品久久久| 亚洲精品无码成人片久久| 久久播电影网| 久久www免费人成精品香蕉| 99久久国产热无码精品免费| 香蕉久久av一区二区三区| 亚洲精品蜜桃久久久久久| 久久天天躁夜夜躁狠狠躁2022 | 99久久免费国产精品| 久久av无码专区亚洲av桃花岛| 色综合久久中文字幕综合网| 88久久精品无码一区二区毛片| 九九久久自然熟的香蕉图片| 精品综合久久久久久98| 国内精品人妻无码久久久影院导航| 亚洲国产高清精品线久久|