<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## [基本類型](http://www.hmoore.net/qihangkong/glslang-spec/1704656) > 定義:基本類型是由語言的某些關鍵字定義的類型 > OpenGl?著色語言中支持如下的基本類型: **透明類型** |??類型???|???????????????含義???????????????| | :---: | :---: | |??void???|????????用于函數沒有返回值????????| |??bool???|?條件類型,取值為?true?或者?false?| |???int???|???????????有符號的整型???????????| |??uint???|????????????無符號整型????????????| |??float??|????????單精度浮點類型標量????????| |?double??|????????雙精度浮點類型標量????????| |??vec2???|????????二維單精度浮點向量????????| |??vec3???|????????三維單精度浮點向量????????| |??vec4???|????????四維單精度浮點向量????????| |??dvec2??|????????二維雙精度浮點向量????????| |??dvec3??|????????三維雙精度浮點向量????????| |??dvec4??|????????四維雙精度浮點向量????????| |??bvec2??|???????????二維布爾向量???????????| |??bvec3??|???????????三維布爾向量???????????| |??bvec4??|???????????四維布爾向量???????????| |??ivec2??|????????二維有符號整型向量????????| |??ivec3??|????????三維有符號整型向量????????| |??ivec4??|????????四維有符號整型向量????????| |??uvec2??|????????二維無符號整型向量????????| |??uvec3??|????????三維無符號整型向量????????| |??uvec4??|????????四維無符號整型向量????????| |??mat2???|???????2x2?的單精度浮點矩陣???????| |??mat3???|???????3x3?的單精度浮點矩陣???????| |??mat4???|???????4x4?的單精度浮點矩陣???????| |?mat2x2??|???????2x2?的單精度浮點矩陣???????| |?mat2x3??|???????2x3?的單精度浮點矩陣???????| |?mat2x4??|???????2x4?的單精度浮點矩陣???????| |?mat3x2??|???????3x2?的單精度浮點矩陣???????| |?mat3x3??|???????3x3?的單精度浮點矩陣???????| |?mat3x4??|???????3x4?的單精度浮點矩陣???????| |?mat4x2??|???????4x2?的單精度浮點矩陣???????| |?mat4x3??|???????4x3?的單精度浮點矩陣???????| |?mat4x4??|???????4x4?的單精度浮點矩陣???????| |??dmat2??|???????2x2?的雙精度浮點矩陣???????| |??dmat3??|???????3x3?的雙精度浮點矩陣???????| |??dmat4??|???????4x4?的雙精度浮點矩陣???????| |?dmat2x2?|???????2x2?的雙精度浮點矩陣???????| |?dmat2x3?|???????2x3?的雙精度浮點矩陣???????| |?dmat2x4?|???????2x4?的雙精度浮點矩陣???????| |?dmat3x2?|???????3x2?的雙精度浮點矩陣???????| |?dmat3x3?|???????3x3?的雙精度浮點矩陣???????| |?dmat3x4?|???????3x4?的雙精度浮點矩陣???????| |?dmat4x2?|???????4x2?的雙精度浮點矩陣???????| |?dmat4x3?|???????4x3?的雙精度浮點矩陣???????| |?dmat4x4?|???????4x4?的雙精度浮點矩陣???????| > Note:?下表所說"訪問紋理","sampler "不透明類型訪問紋理,"image " 不透明類型訪問圖像,具有指定的類型。 ## 修飾符 > 變量的聲明可以使用如下的修飾符。 |??類型???|???????????????含義???????????????| | :---: | :---: | | const | 常量值必須在聲明是初始化。它是只讀的不可修改的。 | | attribute | 表示只讀的頂點數據,只用在頂點著色器中。數據來自當前的頂點狀態或者頂點數組。它必須是全局范圍聲明的,不能再函數內部。一個attribute可以是浮點數類型的標量,向量,或者矩陣。不可以是數組或則結構體 | | uniform | 一致變量。在著色器執行期間一致變量的值是不變的。與const常量不同的是,這個值在編譯時期是未知的是由著色器外部初始化的。一致變量在頂點著色器和片段著色器之間是共享的。它也只能在全局范圍進行聲明。 | | varying | 頂點著色器的輸出。例如顏色或者紋理坐標,(插值后的數據)作為片段著色器的只讀輸入數據。必須是全局范圍聲明的全局變量。可以是浮點數類型的標量,向量,矩陣。不能是數組或者結構體。 | | centorid varying | 在沒有多重采樣的情況下,與varying是一樣的意思。在多重采樣時,centorid varying在光柵化的圖形內部進行求值而不是在片段中心的固定位置求值。 | | invariant | (不變量)用于表示頂點著色器的輸出和任何匹配片段著色器的輸入,在不同的著色器中計算產生的值必須是一致的。所有的數據流和控制流,寫入一個invariant變量的是一致的。編譯器為了保證結果是完全一致的,需要放棄那些可能會導致不一致值的潛在的優化。除非必要,不要使用這個修飾符。在多通道渲染中避免z\-fighting可能會使用到。 | | in | 用在函數的參數中,表示這個參數是輸入的,在函數中改變這個值,并不會影響對調用的函數產生副作用。(相當于C語言的傳值),這個是函數參數默認的修飾符 | | out | 用在函數的參數中,表示該參數是輸出參數,值是會改變的。 | | inout | 用在函數的參數,表示這個參數即是輸入參數也是輸出參數。 | ## 內置變量 > 內置變量可以與固定函數功能進行交互。在使用前不需要聲明。頂點著色器可用的內置變量如下表: | 名稱 | 類型 | 描述 | |-------------------------|-------|------------------------------------------------| | gl\_Color | vec4 | 輸入屬性\-表示頂點的主顏色 | | gl\_SecondaryColor | vec4 | 輸入屬性\-表示頂點的輔助顏色 | | gl\_Normal | vec3 | 輸入屬性\-表示頂點的法線值 | | gl\_Vertex | vec4 | 輸入屬性\-表示物體空間的頂點位置 | | gl\_MultiTexCoordn | vec4 | 輸入屬性\-表示頂點的第n個紋理的坐標 | | gl\_FogCoord | float | 輸入屬性\-表示頂點的霧坐標 | | gl\_Position | vec4 | 輸出屬性\-變換后的頂點的位置,用于后面的固定的裁剪等操作。所有的頂點著色器都必須寫這個值。 | | gl\_ClipVertex | vec4 | 輸出坐標,用于用戶裁剪平面的裁剪 | | gl\_PointSize | float | 點的大小 | | gl\_FrontColor | vec4 | 正面的主顏色的varying輸出 | | gl\_BackColor | vec4 | 背面主顏色的varying輸出 | | gl\_FrontSecondaryColor | vec4 | 正面的輔助顏色的varying輸出 | | gl\_BackSecondaryColor | vec4 | 背面的輔助顏色的varying輸出 | | gl\_TexCoord\[\] | vec4 | 紋理坐標的數組varying輸出 | | gl\_FogFragCoord | float | 霧坐標的varying輸出 | > 片段著色器的內置變量如下表: | 名稱 | 類型 | 描述 | |--------------------|-------|----------------------------------------------------------------| | gl\_Color | vec4 | 包含主顏色的插值只讀輸入 | | gl\_SecondaryColor | vec4 | 包含輔助顏色的插值只讀輸入 | | gl\_TexCoord\[\] | vec4 | 包含紋理坐標數組的插值只讀輸入 | | gl\_FogFragCoord | float | 包含霧坐標的插值只讀輸入 | | gl\_FragCoord | vec4 | 只讀輸入,窗口的x,y,z和1/w | | gl\_FrontFacing | bool | 只讀輸入,如果是窗口正面圖元的一部分,則這個值為true | | gl\_PointCoord | vec2 | 點精靈的二維空間坐標范圍在\(0\.0, 0\.0\)到\(1\.0, 1\.0\)之間,僅用于點圖元和點精靈開啟的情況下。 | | gl\_FragData\[\] | vec4 | 使用glDrawBuffers輸出的數據數組。不能與gl\_FragColor結合使用。 | | gl\_FragColor | vec4 | 輸出的顏色用于隨后的像素操作 | | gl\_FragDepth | float | 輸出的深度用于隨后的像素操作,如果這個值沒有被寫,則使用固定功能管線的深度值代替 |
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看