日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/9/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)的全部內容,希望文章能夠幫你解決所遇到的問題。

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