Sign in to follow this  

Deferred shading and MSAA

Recommended Posts

I'm trying to tackle MSAA in deferred shading.

Here' my current deferred shading pipeline:

Code :
1. Geometry stage - Render geometry to textures (position/normals/diffuse)
2. Shading stage - all output is rendered & blended into a "final texture"
  2.1 Render ambient light
  2.2 Render directional lights and shadows
  2.3 Render point lights and shadows
3. BlitFramebuffer() on the final texture
4. Swapbuffers and repeat 1.

In 2.1, 2.2 and 2.3 I need to read gbuffer textures (position/normals/diffuse) to do the lighting and shadowing.

My question is now, how do I most effectively accomplish MSAA (or any other form of good AA)? Do I have to read a number of samples in all the 3 shading passes (2.1, 2.2 and 2.3: sounds expensive!) or what? Is there any hardware support on can use?

Share this post

Link to post
Share on other sites

It seems like the most common approach is to do an edge detection, based on the depth and the normals, and blur the image a little around the edges.

Edited by HappyCoder

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