SSAO for mobile platforms - works great even on 2012 hardwares !

SSAO is a screen space effect used to simulate low and medium frequency shadows. This is used in most modern AAA games since Crysis, and it is also an effect that often will take a big chunk of your performances on desktop games.

I did some test on mobile platforms to see if SSAO was viable. After a lot of heavy optimizations based on how mobile architecture works, I have been able to make this effect running well on older mobile hardware with good performances and with very acceptable quality :slight_smile:

You can see my current progress here:

I currently test on dated mobile hardwares (2012) and it works with acceptable performance/quality. This means that it would probably be very usable on more recent hardwares.

I optimized the effect for the Galaxy S3 and the more powerful Nexus 4, both have been released in 2012. I currently have the Nexus 4 running the effect at what I consider medium quality with a framerate of about 40 FPS within a simple test scene. The galaxy S3 is running a much simpler version at 30 FPS, this simpler version run at about double the framerate (60FPS) on the Nexus 4.

The medium quality settings cost about 0.1-0.2ms to compute on my desktop (AMD 7970)

You can see a screenshot of the highest mobile quality setting here, running at 15/20 FPS on the Nexus 4:

with SSAO/without SSAO:

SSAO buffer:

My time is limited but there is a good chance that I release an SSAO adapted for the mobile architecture on the asset store this year. I’m posting here to see if there is an interest for high end mobile effects such as this ssao effect :slight_smile:

10 Likes

HeyThere ^^

Are you still work on this…
If yes
Can you show/tell us something about your progress…!?!

greetz

I’m interested - but for consoles. Speed is always a premium, not just for mobile :slight_smile: You’ve done a lot of post stuff so maybe it’s time to do one similar to scion?

1 Like

I’m interested as well!

@IndieAner3d :
I haven’t had a chance to work on this since I made this thread. I’m extremely busy right now with contracted work, I should have much more time to work on Unity assets next week. I first need to finalize some updates to my existing assets then I hope to gives some news in the next couple of weeks about this mobile SSAO effect.

@hippocoder :
Yes the SSAO would be usable on console/desktop, but it would still be an effect targeting mobile devices. Also, I could make a post process stack, only time is missing :slight_smile:

3 Likes

Interested too!

Registering my interest. Cheers!

Looks good. Will buy it if it’s released!

Me too!

Interested.
I can beta test on iPad Retina, iPhone 4, Galaxy Tab.

@G-Mika Looks really cool, have you had much luck getting this up on the store yet?

I have some good news!

I paused the project a while ago because of a bug in the Unity android renderer that was making some arbitrary devices to use the depth map inefficiently. This was making the project nonviable for android devices at least. However, this problems seems to be fixed in the latest unity version, and I’m looking to release the effect soon.

I’m also interested in doing beta test for the effect, if anyone is interested please contact me via private message. I would like to see how the effect is performing on various devices and environments.

I wil alsol be looking into developing multiple optimization strategies for advanced graphics pipeline on mobile platforms, some of which might be included in the final mobile SSAO package.

I’m also interested in it for PS4 (although haven’t time to assist in testing this second) - would it provide a good perf boost there or is that a different set of bottlenecks?

It depends on what quality you are looking for, but yes you might get a performance boost. This effect doesn’t rely on per pixel normals however, only the depth map.

Can you post a screenshot on medium quality ? I’m interested in this for VR applications.

Interested +1. I am looking at AO options but I ruled out screen space effects due to performance.

I would also love to stresstest this. Available devices: Ipad Pro, Ipad Air 1+2, Ipad 2+3+4, Nexus 5, Dell 7840, Toshiba AT270.

I’m going to give some news about my progress. First, I’m almost done with the beta, I need to fine tune some stuff and I will I will be done. I’m going to participate to the global game jam this week end, this means that I won’t have time to finalize the beta test version until next week.

I’m also working on an another related project called OGFX which is a collection of graphics optimizations/tools/effects that are especially useful for mobile platforms. I will include a first draft of this project with the SSAO package to help you optimized your graphics pipeline. This project is part of the reason why it takes me a bit more time than planned to send you the beta test version of the SSAO effect.

I made some gif to show you different quality settings of the SSAO:

Highest Settings:

Medium Settings:

Lowest Settings:

Note on performances:
The medium quality version run very well on current high end mobile devices. I’m getting more than 60 FPS(Capped) on the Tegra K1 (Nexus 9, Shield) on this scene.

Current medium/low end devices will have troubles running more than the low end version or in-between low end and medium version. Don’t expect more than 30 FPS on those devices.

For the lowest settings, the instruction count of the shader is about 30-40 depending on what changes I am making. In comparison, the lowest instruction count I found by compiling the other SSAO effects on the asset store was about 170 (if I remember correctly). This is not the only thing that defines performances however, I made other optimizations.

1 Like

Oh how i desire this!!

Hi G.Mika,
Any chance this will work on Ipad Pro?