革命性DX11架構(gòu)!GTX480/470權(quán)威評測
就像大家通過數(shù)碼相機拍完照片后需要經(jīng)過PS處理一樣,3D模型在GPU內(nèi)部渲染完成后也會經(jīng)過后端處理才會顯示在屏幕上,這一過程叫做“Render Post-Processing”(渲染后端處理),常見的如“邊緣偵測與抗鋸齒、各向異性過濾、景深、運動模糊、色彩映射、濾波、銳化”等一些列特效都是在這一階段加上去的。
GPU有專門負(fù)責(zé)渲染后端處理的模塊,叫做“Render Back-Ends”(ROPs),也就是通常所說的光柵單元,這個模塊位于流處理器與顯存控制器之間,也就是說它渲染完畢后將會把數(shù)據(jù)直接輸出到顯存與屏幕。
第三章/第四節(jié) DirectCompute 11新特效:渲染后端處理之景深
在DX10時代,光柵單元的任務(wù)量是很重的,如果大量使用后端處理特效的話,很容易出現(xiàn)像素著色器等待光柵單元的情況出現(xiàn)。所以很多DX10游戲的GPU負(fù)載還不如DX9C游戲就不足為怪了。而DX11則通過一個巧妙的方式降低了光柵單元的負(fù)擔(dān),確保流處理器和光柵單元能夠協(xié)同工作,原理依然是使用計算著色器。
各種后端處理特效的最終效果雖然千差萬別,但它們大多數(shù)都有一個共同的特點,那就是需要對比相鄰位置像素或者相鄰幀之間像素的差別,然后進行對比與合成。這一拾取動作其實只用一個函數(shù)就能完成——Gather4,它使得計算著色器能夠越權(quán)進行數(shù)據(jù)采集動作,幫助紋理單元和光柵單元的減輕負(fù)擔(dān),而且計算著色器的數(shù)據(jù)采集速度是專用單元的4倍!
DX10版景深特效的實現(xiàn)方法
具體一點例子,比如DX10級別的運動模糊和景深特效,都是通過幾何著色來實現(xiàn)的,通過幾何著色控制運動物體的坐標(biāo)變換與像素監(jiān)控,或?qū)⑸疃忍麍D中的紋理信息按照距離拆分到緩沖,然后分為幾個不同的視角進行渲染,最后合成完整的圖像,實現(xiàn)比DX9C更精確、更流暢的特效。畫面效果是更出色了,但幾何著色并沒有幫助光柵單元做任何事情,數(shù)據(jù)處理反而翻了好幾倍,導(dǎo)致性能下降比較嚴(yán)重。
而通過使用DirectCompute 11中的新指令,后端處理特效可以最大限度的降低顯存讀寫次數(shù)、大幅降低光柵單元的負(fù)擔(dān),當(dāng)然流處理器將會承擔(dān)更多的任務(wù)(幾何著色、計算著色、像素著色、外殼著色和域著色),但依然能夠保持相對的平衡,不會出現(xiàn)DX10當(dāng)中GPU資源負(fù)載不均的情況。
DX11新作《地鐵2033》當(dāng)中使用DirectCompute11實現(xiàn)景深效果
《地鐵2033》對比:點擊放大仔細觀賞人物背景的差別
剛剛發(fā)布的DX11大作《地鐵2033》就使用了DX11級別的景深效果,清晰和虛化合理分配、主次分明,再搭配Tessellation技術(shù)的輔助,幾乎接近與電影的拍攝效果,看起來有種賞心悅目的感覺。但該游戲由于使用了太多尖端圖形技術(shù),所以要求非常苛刻。
關(guān)注我們

 
           
          

