Pixel Shader 畫素著色

2021-09-22 07:00:33 字數 712 閱讀 8373

introduction

pixel shader是一段執行在gpu上的程式,只限於光柵化階段。與vertex shader不同的是,d3d不會使用軟體模擬pixel shader,pixel shader基本上取代了fixed pipeline中的multitexturing階段,它使我們能夠直接操作單獨的畫素,訪問他們的紋理座標,這使我們能夠獲得許多特效,比如多重紋理,逐畫素光照,depth of field, 雲效果,火焰效果,以及一些成熟的著色技術。

multitexturing

因為multitexturing是能用pixel shader實現的最簡單的技術,所以我們有必要看一下什麼是multitexturing以及它能做什麼?

多重紋理與blending非常類似,// to be continue…

input and output

input:color and texture coordinates

output:color

其中輸入取決於vertex shader的處理結果,假設vertex shader輸出了兩個顏色和三個紋理座標,那麼pixel shader的輸入就是相面的形式

struct ps_input
;

而輸出則只包含顏色資訊

struct ps_output;

著色器(Shader)之畫素著色器

畫素著色器實際上就是對每乙個畫素進行光柵化的處理期間,在gpu上運算的一段程式。不同與頂點著色器,畫素著色器不會以軟體的形式來模擬畫素著色器。畫素著色器實質上是取代了固定功能流水線中多重紋理的環節,而且賦予了我們訪問單個畫素以及訪問每乙個畫素紋理座標的能力 多重紋理就是我們同時啟用多層紋理,然後規定...

pixel shader相關鏈結

解釋顏色混合模式的幾個疑問 把物體的數學描述以及與物體相關的顏色資訊轉換為螢幕上的畫素,這個過程稱為光柵化 bilinear 兩次線性 這種方法使用乙個原始畫素的資訊,同時使用原始畫素周圍相鄰的四個畫素的資訊決定的新畫素的顏色。該方法相對簡單的線性計算方式完成工作,但也會產生鋸齒的效果。bicubi...

顯示卡不支援畫素著色器?

按計畫該發出畫素著色器ps 的內容,無奈家裡的電腦配置太低,顯示卡竟然不支援ps。家裡的顯示卡型號nvidia getforce4 mx 440 又看到網上某牛人如是說 nvidia 曾經推出市場上銷量最好的gf4 mx440 agp 8x 它和高階的gf4 ti 的本質區別就是它僅僅支援verte...