轉自https://blog.csdn.net/qq_30100043/article/details/72819774
內置變量
頂點着色器
名稱 | 類型 | 描述 |
---|---|---|
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 | 輸出的深度用於隨后的像素操作,如果這個值沒有被寫,則使用固定功能管線的深度值代替 |
角度與三角函數
指數函數
通用函數
幾何函數
矩陣函數
矢量函數