Postprocessing effects newbie questions

Hi.

I’m newbie in modern rendering technologies and trying to dive into it.

I’m pretty confident in simple shader writing (syntax, data structures), because I wrote some technical shaders when it was needed: to render grid over the level geometry, to make walls and ceilings transparent at particular points, water animation, fog of war in 3D.

But I’m interesting how to use rendering technologies to make picture cute. For example like this or this or at least like this.

So now I’m just playing with postprocessing effects to get more sense of them.

Question for the warm-up

How to make SSAO more fine-grained?

The most fine-grained result I succeed to configure:

`jme3test.post.TestSSAO2` with disabled directional lightning and teapot shader replaced with`Common/MatDefs/Misc/Unshaded.j3md` to focus attention on SSAO

But I’d like to understand how to make it like this:

Question 2

When I move camera close to teaposts, they become darker. It’s realistic - like observer is not just a camera, but is shadow casting (in SSAO meaning) object. But this behavior may be undesired, how can it be configured?

Animated GIF

image

I started to play with SSAO, because for my non-trainded eye AO is the most notable picture beautifulizer, but please feel free to share any relevant opinions :slight_smile:

i still hope @RiccardoBlb will finish new pipeline and new SSAO too :slight_smile:

BTW. i were using current SSAO, and i agree its really hard to configure it properly. Each configuration had some issues. It looks ok for small areas/values, but when want create more shade area, it become unpredicted.

1 Like

Screen space AO will always have issues because it can’t operate at anything better than the pixels on the screen. I guess the pretty screen shot you show is from something like blender where the AO was on the objects themselves. (The short answer being that for good looking AO, bake it into an AO map on your object.)

The darkening of the objects as you get closer seems like a bug or a configuration issue, to me. I can’t think why the SSAO algorithm would do that.

Screen-space AO is best left subtle.

1 Like

yes, baking AO in blender is very simple. Just going cycle render and bake option to AO and bake to some Shade Node for AO texture.

myself i use both Blender AO baked maps and SSAO with low intensity(to avoid visible issues).

1 Like

Thank you for answers. Now as I understand, main role of SSAO in general is to quickly micro-correct effect of another lighting technics (including baked AO) without necessity to rebake all models.

I like idea to calculate AO maps in runtime by compute shaders. It may save a lot of artist’s time with access to great flexibility in final visual adjustments. But I also guess, implementation of such feature is not too easy.

I guess it’s rather because artist time is free in Terms of GPU Budget.
You are spending GPU power on something that can be scripted or achieved with a few clicks

1 Like

And will look way better.

Blender and other 3D modelers treat scenes and rendering different than a game engine. They can essentially ‘ray trace’ if needed and that will make their AO (a reflection operation essentially) a LOT better looking than what you can achieve in a compute shader. And a compute shader is going to be a lot of work, I think… you somehow need to give each object its own AO map, etc…

Not impossible… just seems like an incredible amount of work for the payoff. Might as well just implement voxel lighting while you are at it.

1 Like