SSAO sample

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
Post Reply
SimonW
Gnoblar
Posts: 21
Joined: Wed Aug 12, 2009 3:39 pm
Location: Vienna, Austria

SSAO sample

Post by SimonW »

after using this forum to get my ogre questions ansered (thanks for that!) it is now the time to give something back: I hereby present a SSAO sample that I'm writing for my bachelor'd degree at the vienna university of technology.

Image

Its an implementation of cryteks SSAO, horizon based SSAO (Bavoil et al. http://www.sci.utah.edu/~bavoil/) and crease shading (http://www.shalinor.com/research.html) with a few parameters tweakable in the gui. If time allows it there be a fourth algorithm (basically crytek with normal alligned hemisphere) but I didn't manage to finish it yet.

All the code and the implementations of the algoriths are very rough and not final. There might also be hardware issues since it is only "tested" on an ATI card (4830) with OpenGL only!. The implementations are also more for academic purposes than for production. The goal is to have a nice and good looking working implementation not super optimized code.

You can find all sources at http://bitbucket.org/simonwallner/ogre-ssao-sample as an relatively up to date fork of ogre.
NOTICE: The licenses of some contents are not clear yet. (the sibenik cathedral and sponza atrium which are widely available on the web, the implementations of the algorithms itself since they stem from a book respektively from megan fox' website). So, use it with care. I'm going to clear out all licensing issues once the sample is final. At least, I will try.


I'd be happy if you would test the sample, tell me what you think about it, and what possible improvements are. I'd also love to see parts of this sample in real production code, i.e. your projects. (beware the licensing stuff above!)

so long, kind regards,
Simon
Last edited by SimonW on Sat Jul 03, 2010 5:39 pm, edited 1 time in total.

User avatar
koirat
Orc
Posts: 446
Joined: Mon Feb 25, 2008 7:56 pm
x 13

Re: SSAO sample

Post by koirat »

Result look very nice.
Good luck to you.
This is a block of text that can be added to posts you make. There is a 255 character limit.

User avatar
Noman
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 714
Joined: Mon Jan 31, 2005 7:21 pm
Location: Israel
x 2
Contact:

Re: SSAO sample

Post by Noman »

Congrats!

I'll definitely check it out soon. Also good to see people using hg to easily make minor branches of ogre for their uses.

A question - Ogre's deferred shading demo already uses the sibenik cathedral and has an SSAO post-processor attached to it. What does this one add? Different SSAO approaches?

And another thing - how did you export the sibenik model to Ogre? I had troubles exporting mine and there were some minor problems. If your export is cleaner, we can replace the one in the Ogre SDK with it (I already have permission from Marko Dabrovic, the creator of the sibenik cathedral model, to use it in Ogre).

SimonW
Gnoblar
Posts: 21
Joined: Wed Aug 12, 2009 3:39 pm
Location: Vienna, Austria

Re: SSAO sample

Post by SimonW »

my sample is build on the Gbuffer that is used in the deferred shading sample. Due to little knowledge of ogre and c++ that I had when I started that project It takes a simpler road. I don't patch the existing materials and use only one material instead that writes to the Gbuffer. That also means that I can display the original materials.

I didn't check out the shader source of the ssao in the deferred shading sample (I wanted to develop it on my own ;-)). In my sample there are currently 3 different algorithms with a few changeable parameters.

The Sibenik model: I imported the model (the .obj file I think) in maya, exported it to fbx, imported it with blender and exported it to ogre xml and converted it with the ogre tool. I can tell you, that pipeline is terrible. I wanted to also include models from the stanford scanning repo but the size of the resulting meshes was too much for that pipeline. blender mostly died while importing. (I once heard there was a ogre exporter for maya?) I never cared for the materials, so no experience with that.

Post Reply