Jump to content

My SSAO Implementation


LordHippo
 Share

Recommended Posts

Thank you all for your support smile.png

 

I've decided to follow my boss orders! mellow.png

 

The reason is that game development community is really small in Iran.

So if I start a fight, and get a bad reputation, I will be in trouble someday.

 

But I'll follow Dozz's instruction and write a blog post about this SSAO.

And I think it would be really easy for Josh or someone with some shader knowledge, to write it himself.

Ali Salehi | Programmer

 

Intel Core i3 2100 @ 3.0GHz | GeForce GTS 450 | 4GB DDR3 RAM | Windows 7 Ultimate x64

LE 2.50 | Visual Studio 2010 | RenderMonkey 1.82 | gDEBugger 5.8 | FX Composer 2.5 | UU3D 3 | xNormal 3.17

 

 

76561198023085627.png

Link to comment
Share on other sites

It wasn't meant as an instruction, more as a hopeful maybe…and a greedy I want it :P A blog would be a great thing and you are wise to keep that job despite what I wrote, which was a bit out of order but kinda reflected my views of my current employer. It's all turning out good in the end. Thanks

Link to comment
Share on other sites

It wasn't meant as an instruction, more as a hopeful maybe…and a greedy I want it tongue.png A blog would be a great thing and you are wise to keep that job despite what I wrote, which was a bit out of order but kinda reflected my views of my current employer. It's all turning out good in the end. Thanks

 

My bad, I meant "advice". I have a really bad headache and used a wrong word! wacko.png

I'll write the post as soon as I get better smile.png

Ali Salehi | Programmer

 

Intel Core i3 2100 @ 3.0GHz | GeForce GTS 450 | 4GB DDR3 RAM | Windows 7 Ultimate x64

LE 2.50 | Visual Studio 2010 | RenderMonkey 1.82 | gDEBugger 5.8 | FX Composer 2.5 | UU3D 3 | xNormal 3.17

 

 

76561198023085627.png

Link to comment
Share on other sites

I've released my implementation of Crysis1 SSAO.

http://www.leadwerks.com/werkspace/files/file/309-crysis1-ssao/

 

Hope you find it useful.

  • Upvote 2

Ali Salehi | Programmer

 

Intel Core i3 2100 @ 3.0GHz | GeForce GTS 450 | 4GB DDR3 RAM | Windows 7 Ultimate x64

LE 2.50 | Visual Studio 2010 | RenderMonkey 1.82 | gDEBugger 5.8 | FX Composer 2.5 | UU3D 3 | xNormal 3.17

 

 

76561198023085627.png

Link to comment
Share on other sites

Incidentally, the reason Crysis SSAO tends to shade object faces for no reason is that because Crysis is a forward renderer, they have no access to screen normals data in the post processing pass. That's why Lord Hippo's SSAO looks better.

  • Upvote 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Incidentally, the reason Crysis SSAO tends to shade object faces for no reason is that because Crysis is a forward renderer, they have no access to screen normals data in the post processing pass. That's why Lord Hippo's SSAO looks better.

 

Somehow disagreed.

That's known as "self occlusion" problem. Though they also didn't fixed it in Crysis2 (which is a deferred renderer).

Cause they've mentioned that they kinda like this side effect and did nothing to fix it.

 

 

Actually there are some SSAOs out there that don't use normals (just the depth buffer) and don't have this problem.

Best examples are Battlefield3's SSAO (not HBAO), ToyStory3 (one of the best SSAOs I've ever seen!), Uncharted2 and lot more.

Ali Salehi | Programmer

 

Intel Core i3 2100 @ 3.0GHz | GeForce GTS 450 | 4GB DDR3 RAM | Windows 7 Ultimate x64

LE 2.50 | Visual Studio 2010 | RenderMonkey 1.82 | gDEBugger 5.8 | FX Composer 2.5 | UU3D 3 | xNormal 3.17

 

 

76561198023085627.png

Link to comment
Share on other sites

Somehow disagreed.

That's known as "self occlusion" problem. Though they also didn't fixed it in Crysis2 (which is a deferred renderer).

Cause they've mentioned that they kinda like this side effect and did nothing to fix it.

 

 

Actually there are some SSAOs out there that don't use normals (just the depth buffer) and don't have this problem.

Best examples are Battlefield3's SSAO (not HBAO), ToyStory3 (one of the best SSAOs I've ever seen!), Uncharted2 and lot more.

I experienced this in pure depth-calculated approaches because there was no way to know whether the face was angled, or if it was on an edge with another pixel next to it, further back in the depth buffer.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...