Sign in to follow this  
Aqua Costa

Light Pre-Pass or regular Deferred lighting?

Recommended Posts

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this