源码下载地址:http://yanonsoftware.googlepages.com/ShaderSimpler.zip
现在很多游戏,像WOW、激战都有这种“全屏泛光”的画面效果,很多人以为是使用了HDR,其实就是一个post process效果。
PostProcess是一个很简单又有用的概念,顾名思义,就是把渲染之后的场景,在图像空间进行一些处理。它可以做出各种各样的效果。
全屏泛光的实现步骤如下:
1. 分配三个texture,F,A,B,其中F的大小与back buffer一致,A和B为back buffer面积的四分之一;
2. 将场景渲染到F;
3. 将F渲染到A - 执行down sample和high-pass filter;
4. 将A渲染到B - 执行H blur;
5. 将B渲染到A - 执行V blur,先横向再纵向计算,把每个象素需要的计算由n*n变为n+n,其中n为blur区域的大小;
6. 将F和A混合,渲染到back buffer,然后present。至于混合的公式,就可以自己发挥了。:)

参考
nVidia FXComposer
本文介绍了一种在游戏开发中常见的画面效果——全屏泛光的实现方法。该效果通过一系列纹理处理步骤达到,包括下采样、高通滤波、水平垂直模糊等。最后,将处理后的图像与原始场景混合呈现。
16万+

被折叠的 条评论
为什么被折叠?



