日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Directx11教程(18) D3D11管线(7)

發布時間:2024/9/20 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Directx11教程(18) D3D11管线(7) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

光柵化階段(RS)之后,將進入PS/OM階段。

參考外文資料:http://fgiesen.wordpress.com/2011/07/01/a-trip-through-the-graphics-pipeline-2011-part-7/

大致的管線流程應該是這樣的:

????? RS光柵化的fragment達到64或者32(一個wave或者warp)后,PS調度模塊會產生一個新的wave或者warp,并把它們傳給PS shader階段,PS shader得到調度信息后,會從video memory中取得PS code,執行shader 代碼。注意和vs過程類似,ps過程中,也是每個stream core處理一個fragment。

????

???? 我們的ps shader代碼非常簡單,只是單純的輸出顏色值,但要注意的一點是,在ps shader時候,gpu會自動做一件事情,就是屬性差值,比如我們的三角形,我們只輸入了三個頂點的顏色,但經過光柵化后,我們有很多fragment,系統會自動根據頂點顏色給各個fragment差值出顏色[經常的做法是雙線性插值]。

??? PS shader中還可以執行紋理貼圖,還有一些depth cull(這時,early z將會失效)或者顏色blend的功能,后面教程我們學到這些時候,可以再回來討論D3D11管線。

???? 我們的ps shader代碼如下:

struct PixelInputType
{
??? float4 position : SV_POSITION;
??? float4 color : COLOR;
};


float4 ColorPixelShader(PixelInputType input) : SV_TARGET
{
??? return input.color;
}

??? PS的輸出會放在一個FIFO的buffer中,該buffer中內容會和depth block進行通信,之后經過深度測試和模版測試的fragment最終被傳輸到color block,再執行顏色alpha混合或者其它一些功能后,最終被傳到video memory中Framebuffer,然后在屏幕上顯示出來。這個過程就是D3D11管線中的MO(合并輸出)階段。

轉載于:https://www.cnblogs.com/mikewolf2002/archive/2012/03/25/2416342.html

總結

以上是生活随笔為你收集整理的Directx11教程(18) D3D11管线(7)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。