认识多渲染目标(Multiple Render Targets)技术 【转】
首先,渲染到紋理是D3D中的一項高級技術。一方面,它很簡單,另一方面它很強大并能產生很多特殊效果。 比如說發光效果,環境映射,陰影映射,景深效果,都可以通過它來實現。渲染到紋理只是渲染到表面的一個延伸。我們只需對得到的紋理圖像進行后處理即可。首先,我們要創造一個紋理,并且做好一些防范措施。第二步我們就可以把適當的場景渲染到我們創建的紋理上了。然后,我們把這個紋理用在最后的渲染上。
?
GeForce 6系列圖形芯片支持的PixelShader 3.0中還支持一種較新的技術,我們要額外放在這一頁來簡要介紹。這就是多渲染目標(MRT)技術。
這種技術的作用就是將每像素的數據保存到不同的緩沖區當中。這樣的好處就是這些緩沖區數據由此可以成為照片級光照效果著色器的參數。
在這種方法的幫助下,光照可以在所有幾何圖形被渲染以后最后進行應用,不再需要進行多步的渲染。因而這種技術也可以被稱為延期著色(Deferred Shading)。存儲在這種類型的表面中的數據可以包括位置、法線、顏色以及材質的信息。
我們來看一個MRT技術用于產生一個高動態范圍的場景的實例。
第一個渲染步驟
在第一個渲染步驟,開發者創造出3個輸出緩沖區,這包括:1個顏色的貼圖、1個法線的貼圖和1個深度的貼圖。
第二個渲染步驟
在第二個步驟,使用法線和深度貼圖結合光照條件計算出光照。然后,場景在帶有顏色貼圖的情況下被精確地照明。
第三個渲染步驟
最后在第三個步驟中,超過0~1范圍的超高亮度的光線值被帶入場景中,計算包含高亮度像素附近的像素的發光。這個步驟產生出難以置信的發光效果。
總結
以上是生活随笔為你收集整理的认识多渲染目标(Multiple Render Targets)技术 【转】的全部內容,希望文章能夠幫你解決所遇到的問題。