Monthly Archives: October 2014

Deferred Rendering : Transparent Materials

Implemented support for Transparent Materials using Forward+ path. Even though it’s working I am not sure to go through a whole separate Forward+ rendering pass for transparent materials is the right way to go. I am thinking to test some other algorithms like Inferred Rendering, OIT or stochastic transparency, etc.

But before that I will be testing performance of proper Deferred Rendering with fat GBuffers vs Forward+. Right know I am using 3 32 bit GBuffers for Albedo, Normal and Specular (and yes 32bit Depth Buffer). In my current implementation I am getting 650+ fps in Deferred Rendering path and 350+ fps in Forward+ with 1024 dynamic point lights in sponza scene.

Deferred Rendering : Forward Plus – Sponza

Finished Forward Plus rendering path, its working for opaque surfaces only for now but I am planning to use it for transparent surfaces and for any special shaders required later. I think it would be interesting to do some comparisons b/w Deferred Shading & Forward Plus.

Deferred Shading : Sponza Model

Here’s the sponza model rendered with 1024 dynamic point lights –

I am getting 650+ (650-900) fps in this scene depending upon how many lights are in the view and how many lights end up per tile. This is with Depth Prepass, which gave a boost of approx 150 fps in this scene.

Note – These results are without any optimizations on application side. – no frustum Culling, no sorting,data of all the lights is being updated perframe, etc.

Some more screenshots –