• Advertisement
Sign in to follow this  

Light Pre-Pass or regular Deferred lighting?

This topic is 2854 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Should I use Light Pre-Pass has Wolfgang Engel proposed (http://diaryofagraphicsprogrammer.blogspot.com/2008/03/light-pre-pass-renderer.html) or the regular Deferred Lighting? Which do you use?

Share this post


Link to post
Share on other sites
Advertisement
Like anything else, it depends.

Light Pre-Pass buys you some extra flexibility, but you have to re-draw your geometry a second time. Depending on your scenes and target hardware, this may or may not be a problem. Doing this does make it easy to have extra material parameters that would be difficult to fit in a G-Buffer, and it does make it easier to do certain things like emmissive lighting or glow maps. However you're still pretty much tied to the "1 BRDF for all materials" thing, and you still have to go through the extra effort of structuring your material shaders to work with a deferred pipeline.

Share this post


Link to post
Share on other sites
If you have a little extra time to spare, you could implement basic material & lighting shaders for both methods, then make them switchable during runtime. That way you could easily assess performance difference by switching back and forth. Note however that you may need a fairly complex scene before meaningful differences become apparent.

There is also the "STALKER Clear Sky" variant of pre-pass lighting, which is to write diffuse albedo to G-buffer, but to still use only normals & depth during light accumulation. Then, a simple full-screen pass will combine the diffuse albedo with the light buffer. That way you get lower memory bandwidth cost during light pass, but still need to render scene geometry only once.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement