Sign in to follow this  
ultrablox

OpenGL Deferred shading with stencil-routed A-Buffer

Recommended Posts

Hi!
The only question is - how? After reading forums, I found many old similar themes, where the conclusion was that the approach was not good on current hardware. But now we can use texture arrays to store many fragments per render-pass. So - it is possible, even with memory or performance limitations. But maybe deferred rendering is suitable only for opacue objects? I think about starting to implement deferred shading with FAT-FAT-FAT G-buffer, where MRT is replaced with storing data in 3d-textures like in http://www.geeks3d.com/20100610/3d-programming-fast-a-buffer-algorithm-demo-using-opengl-4-0/ , but I am very afraid, that in final after two weeks of hard work it will be slow ugly shit. Can you advice anything or give me a useful link?

Share this post


Link to post
Share on other sites
AFAIK, you can't bind an entire texture-array or 3D texture as a render-target (only a single 2D slice), so these don't extend the capability of MRT to allow FAT-FAT-FAT G-buffers, beyond existing MRT limits.

The a-buffer in your link is implemented using "unordered access views" ([i]That's the D3D name, not sure what these are called in GL[/i]).
Here's another description: [url="http://blog.icare3d.org/2010/07/opengl-40-abuffer-v20-linked-lists-of.html"]http://blog.icare3d....d-lists-of.html[/url]

A technique similar to the stencil-routed approach is used in "inferred lighting", and works fairly well for up to 4 layers of geometry in a deferred implementation. Edited by Hodgman

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