Deferred shading and MSAA

Started by
0 comments, last by HappyCoder 9 years, 10 months ago

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?

Advertisement

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.

http://visual-computing.intel-research.net/publications/papers/2009/mlaa/mlaa.pdf

http://en.wikipedia.org/wiki/Fast_approximate_anti-aliasing

My current game project Platform RPG

This topic is closed to new replies.

Advertisement