延迟渲染

延迟渲染(Deferred Rendering)的前生今世(二)

本文由@浅墨_毛星云 出品,转载请注明出处。
文章链接:https://blog.csdn.net/poem_qianmo/article/details/77142101

上一篇:延迟渲染(Deferred Rendering)的前生今世(一)

五、延迟渲染 vs 正向渲染

这边对正向渲染和延迟渲染的特性做一个对照列举:

5.1  正向渲染

延迟渲染(Deferred Rendering)的前生今世(一)

在计算机图形学中,延迟渲染( Deferred Rendering) ,即延迟着色(Deferred Shading),是将着色计算延迟到深度测试之后进行处理的一种渲染方法。延迟着色技术的最大的优势就是将光源的数目和场景中物体的数目在复杂度层面上完全分开,能够在渲染拥有成百上千光源的场景的同时依然保持很高的帧率,给我们渲染拥有大量光源的场景提供了很多可能性。

简略前向渲染与递延渲染说明

渲染路径可选是unity最重要的特性之一。或许对于那些对unity不甚理解的人来说,前向渲染和递延渲染仅仅类似于将物体的外形在正常以及怪异之间进行切换。为了更好理解为什么需要多个渲染路径,我们需要对其背后的工作原理有所了解。

译:Deferred shading (延迟渲染)

一般传统的光照是 forward rendering(shading) ,即我们在顶点着色器(VS, 大多是法线和位置到剪切空间的变换)中做一系列的顶点变换,再到片元着色器(FS)中对每个像素进行光照计算。由于每个物体的每个像素只有一次单独的FS调用,所以我们不得不提供给FS所有光源信息,并在计算每个像素光照效果时将它们都考虑进去。