Horde3D
http://horde3d.org/forums/

Better Anti-Aliasing for Deferred Rendering
http://horde3d.org/forums/viewtopic.php?f=7&t=193
Page 1 of 1

Author:  DarkAngel [ 27.11.2007, 02:26 ]
Post subject:  Better Anti-Aliasing for Deferred Rendering

This isn't directly related to Horde - just some random thoughts on Deferred Shading that I saw on the ATOM blog.

Quote:
For those who have normal stored in their G-Buffer, here is an idea on how you can get really high quality anti-aliasing with a image space post process, without using hardware anti-aliasing. First take the per pixel normal, project into screen space, and re-normalize. Then take this screen space normal, and rotate 90 degrees (compute the vector perpendicular to the screen space normal). This perpendicular vector will be in the direction of the strongest "edge" at the pixel. Now like screen space motion blur, sample from the screen in the direction of this perpendicular vector, and intellegently take a weighted average of a few screen samples along both the positive and negative directions on this vector. Would have to workout the details, but the concept should work really well.

This is a fairly simple idea, so I might have a go at implementing it in the deferred pipeline of the Chicago sample :wink:
This would blur a lot of pixels which don't actually lie on an edge though, so I might have to mask it with a low-resolution sobel-type edge filter, or something...

Author:  marciano [ 27.11.2007, 21:22 ]
Post subject: 

Hmm, that sounds interesting. Thanks for posting it! The blog you mention is also new to me and seems to have a plenty of nice information. 8)

Antialiasing is in general a problem since there is no support for antialiased render targets in OpenGL except on GeForce 8 with a special extension. This is really annoying since you have to find all sorts of hacks if you are trying to do high quality rendering in combination with advanced multi-buffer techniques :(

EDIT: I though it would be a good idea to create a new section where we can discuss such interesting rendering techniques.

Author:  slvmnd [ 27.11.2007, 22:42 ]
Post subject: 

I think STALKER uses deferred shading together with FSAA and that it is described in GPU Gems 2. I think they implement edge detection by looking at changes in position and normals relative to nearby pixels in the g-buffer, and implement FSAA by sampling nearby color pixels and blend depending on this edge-value.

The method in the link would be simpler and faster i guess, but not as good looking?

Off-topic: I was wondering, would it be possible to do motion blur by keeping the position and color buffer of the last frame and blending towards the last frame color if the difference in position is large?

Author:  marciano [ 01.12.2007, 13:22 ]
Post subject: 

slvmnd wrote:
Off-topic: I was wondering, would it be possible to do motion blur by keeping the position and color buffer of the last frame and blending towards the last frame color if the difference in position is large?


Some time ago I tried something similar. I stored a copy of the depth buffer from the previous frame and checked against the current depth buffer. If there was a difference I did some blurring at that fragment. Of course this technique is complete fake and doesn't work for all situations but it is quite cheap didn't look that bad, at least for my small test scene.

Page 1 of 1 All times are UTC + 1 hour
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/