Deferred Shading

一直在关注这个东西,最近忙里偷闲,深入地了解了一下。 首先,我们说说延迟渲染的好处。毕竟一个东西的产生,是为了解决当前已有的东西不能解决的问题。

image

Deferred Shading Tutorial下载

上面的文章很好地讨论了采用传统着色方案所需要面对的问题。主要是下面两种情况。

image

image

而对于延迟着色的第一个好处,就是可以将光照处理对物体渲染的开销由 M*N 变为 M+N (其中M为物体数目,N为光源数目)

image

延迟着色的一般框架图如下:

image

image

image

image

image

image

延迟着色的好处

image

而延迟着色面临的最大问题就是透明处理

image

另外,延迟着色主要得益于MRT(Multi Render Target).因为,MRT的限制即是延迟着色本身的限制,DX SDK DOC中有提到。

MSDN:http://msdn.microsoft.com/en-us/library/bb147221(v=vs.85).aspx

RenderMonkey中也有延迟着色例子。 我也用RenderMonkey重写了一个自己的例子。

image 

OK, 完事儿!!!!

posted @ 2011-03-13 11:54  麒麟子MrKylin  阅读(739)  评论(0编辑  收藏  举报