曾经流行的,即将流行的几种渲染模式(render pipeline)
1,multi-light with single pass (farcry 1.2及之后的版本在ps3.0中使用這種方式,其實ps2.0也能使用這種方式)
? 每個對象最多能計算3-4 (3燈光/ps 2.0, 4燈光/ps 3.0)個燈光,
這樣就限制了每個受光照的對象不能太大。
? 適用于室外/地形場景
2,multi-pass? (DOOM3,farcry 1.2之前的版本使用這種方式)
每light要渲染一個pass, 多light的情況下DP的次數會過高。
? 適用于室內/三角形數量較少的場景
3,deferred rendering (killzone2,stalker使用這種方式)
G-Buffer點的顯存大,耗的帶寬高,DX9下不能實現MSAA(dx9下MRT不支持MSAA)
? 材質受限制(因為是在后處理階段計算光照,shader算法沒辦法針對不同的對象區分實現)
4,light indexed deferred rendering
? DP次數比1,3高,比2低,顯存帶寬適中, 每個對象的shader中必須固定該對象的每個fragment計算的最大燈光數量.
5,light pre-pass rendering (cryengine3使用這種方式,還有若干制作中的游戲/引擎使用這種方式)
? DP次數比1,3高,比2低,顯存帶寬適中,材質受限制
(1) 渲染場景,輸出depth和normal到一個rendertarget
? rendertarget的格式:R8G8B8A8,R8G8存depth,B8A8存normal.xy
????????????????????? R16G16B16A16,R16B16存depth,B16存normal.xy,A16存材質信息(specular power?)
? (2)使用第一個pass生成的depth和normal數據,渲染所有的燈光到light texture, RGB存計算后的光照值,
A分量存每個象素的specular intensity
(3)整個場景再渲染一次,使用(2)中生成的light texture,采樣紋理(diffuse,specular mask...),計算光照。
轉載于:https://www.cnblogs.com/corefans/archive/2009/05/27/1491148.html
總結
以上是生活随笔為你收集整理的曾经流行的,即将流行的几种渲染模式(render pipeline)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加强IIS安全机制 建立高安全性能Web
- 下一篇: VS2005集成VSS2005的方法