国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

OpenGLES3.0片段著色器(四)

2019-11-14 18:01:38
字體:
供稿:網(wǎng)友

        片段著色器流程圖

片段著色器(fragment shader)實(shí)現(xiàn)了一個通用的可編程操作片段的方法.片段著色器執(zhí)行由

光柵化生成的每個片段。

 

• Shader PRogram(著色器程序)—片段著色器程序源碼或描述將在該片段上可以執(zhí)行的操作。

• Input variables(輸入變量)—光柵化階段使用插補(bǔ)技術(shù)為片段著色器產(chǎn)生頂點(diǎn)著色器的輸出

• Uniforms—片段著色器的常量數(shù)據(jù)

• Samplers—Uniforms使用的具體類型,在紋理(Texture)中被片段著色器使用

 

片段著色可以丟棄片段或生成一個或多個顏色值作為輸出。通常情況下,片段著色輸出一個

單一的顏色值,除了渲染到多個渲染目標(biāo)。在后一種情況下,每一個顏色值是每個渲染目標(biāo)

的輸出。光柵化所產(chǎn)生的顏色、深度、模板和屏幕坐標(biāo)位置(XW,YW),成為對每個片段的

操作階段的OpenGL ES 3輸入。

 #version 300 es precision mediump float; in vec4 v_color;  out vec4 fragColor;  void main() {     fragColor = v_color; }

 precision mediump float

設(shè)置默認(rèn)精度

in vec4 v_color

輸入顏色屬性。

 out vec4 fragColor

輸出顏色屬性

fragColor = v_color

片段著色器的輸入是被傳遞到片段著色前通過圖元線性插值。

    每個片段執(zhí)行的操作流程

•• Pixel ownership test—這個測試決定在幀緩沖區(qū)中某點(diǎn)(Xw,Yw)的像素當(dāng)前是否被 OpenGL ES 所有,這個測試準(zhǔn)許視窗操作系統(tǒng)去控制幀緩沖區(qū)中的像素是否屬于OpenGL ES context,例如視窗檢測到OpenGL ES 的幀緩沖區(qū)被另一個窗口遮擋,視窗系統(tǒng)可以決定遮 擋OpenGL ES 的內(nèi)容,不顯示。

•• Scissor test——測試(Xw,Yw)是否在剪切矩陣內(nèi),如果在矩陣外,片段被丟棄。 模板深度測試—決定輸入的片段是否應(yīng)該被丟棄

•• Stencil and depth tests—測試在模板上執(zhí)行輸入片段的深度值,決定輸入的片段是否

應(yīng)該被丟棄

•• Blending—混合新產(chǎn)生的片段顏色和存儲在顏色緩沖區(qū)中的顏色

•• Dithering—被使用在用幾種顏色的組合模擬出大范圍內(nèi)的多種色彩模式 per-fragment 階段最后,片段顏色、深度值、模板值是否被寫入幀緩沖區(qū)還要依靠各自的

掩 碼位是否被使用,例如,顏色緩沖區(qū)能設(shè)定紅色是否能被寫入顏色緩沖區(qū)。

 在最后,被丟棄片段的顏色、深度和模板值被寫入到幀緩沖區(qū)。OpenGL ES提供了一個接口來讀取幀的像素。

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新和县| 临沧市| 开远市| 固阳县| 师宗县| 如皋市| 康乐县| 和政县| 山阴县| 兰溪市| 全椒县| 周宁县| 罗源县| 游戏| 新巴尔虎右旗| 安顺市| 绵阳市| 登封市| 通辽市| 宜城市| 涞水县| 雷波县| 东台市| 邹平县| 大厂| 石家庄市| 贺州市| 镇康县| 阜新市| 合作市| 南郑县| 扶风县| 健康| 肇州县| 平顺县| 泸定县| 神木县| 彩票| 青河县| 永寿县| 吉隆县|