1. 程式人生 > >個人對渲染管道的理解

個人對渲染管道的理解

頂點著色器:頂點著色程式從GPU 前端模組(暫存器)中提取圖元資訊(頂點位置、法向量、紋理座標等),並完成頂點座標空間轉換、法向量空間轉換、光照計算等操作,最後將計算好的資料傳送到指定暫存器中;然後片斷著色程式從中獲取需要的資料,通常為“紋理座標、光照資訊等”,並根據這些資訊以及從應用程式傳遞的紋理資訊(如果有的話)進行每個片斷的顏色計算,最後將處理後的資料送光柵操作模組。

片段著色器:片斷著色程式對每個片斷進行獨立的顏色計算,最後輸出顏色值的就是該片段最終顯示的顏色。可以這樣說,頂點著色程式主要進行幾何方面的運算,而片段著色程式主要針對最終的顏色值進行計算。片段著色程式還有一個突出的特點是:擁有檢索紋理的能力。對於GPU 而言,紋理等價於陣列,這意味著,如果要做通用計算,例如陣列排序、字串檢索等,就必須使用到片段著色程式。讓頂點著色器也擁有檢索紋理的能力,是目前的一個研究方向。