Request - "Simple pseudo SSAO"

  • jas01
  • Topic Author
More
8 years 11 months ago - 8 years 5 months ago #1 by jas01 Request - "Simple pseudo SSAO" was created by jas01
Hello Marty McFly.

So. Here is my old topic. I'm here now, because you have great experience with AO.

It is possible to make something similar to actual AO, but without depth buffer access? Cartoon + Pseudo SSAO (from GEMFX 1.0.8. ) can together create something similar to Cavity map . ( 2 , 3 ).
My cartoon settings are:
Warning: Spoiler!


I'm using this effect in my graphical modification for The Witcher game. ( before and after - from 1.3 alpha)

# Witcher with HBAO+ and some lighting effects - link
#Witcher with HBAO+, TrueColor shader (GEMFX), AmbienteLight shader and some lighting effects + color correction effects + Pseudo SSAO + Cartoon - link

More images:
- Here oryginal game
- Here my modification (full version)
- Here my modification without Pseudo SSAO, Cartoon and TrueColor shader

As you can see, those two effects are very important for my graphical modification

Can you make effect similar to cartoon + Pseudo SSAO? (for games without depth buffer access) Maybe something better? Maybe you can use for this "DepthCheck" algorithm?

Thanks for your time.

*Sorry for my poor grammar.

With kind regards,
jas01
Last edit: 8 years 5 months ago by crosire. Reason: Fixed link

Please Log in or Create an account to join the conversation.

  • Marty McFly
More
8 years 11 months ago #2 by Marty McFly Replied by Marty McFly on topic Request - "Simple pseudo SSAO"
That's not how this works, that's not how any of this works. I cannot just make up information from nothing. Our eyes see and interprete the scene so we can see what is far and what not but putting this into an algorithm is impossible.

The Depth Check is there to make sure flares etc are only cast by sun or objects like that which have infinite distance to camera. For a shader, every pixel has only the color information, reading the depth out of that is impossible. If we wouldn't need the depth buffer, we wouldn't use it. But we do need it.

AO darkens geometry corners which can only be found using the depth buffer - cartoon darkens certain things on the screen, too but in a different way by comparing current pixel colors with surroundings.

What you request is basically retrieving the original plant from its burnt ashes. Or the former lego building after smashing it.
The following user(s) said Thank You: jas01

Please Log in or Create an account to join the conversation.

  • Kleio420
More
8 years 11 months ago - 8 years 5 months ago #3 by Kleio420 Replied by Kleio420 on topic Request - "Simple pseudo SSAO"

jas01 wrote: Hello Marty McFly.

So. Here is my old topic. I'm here now, because you have great experience with AO.

It is possible to make something similar to actual AO, but without depth buffer access? Cartoon + Pseudo SSAO (from GEMFX 1.0.8. ) can together create something similar to Cavity map . ( 2 , 3 ).
My cartoon settings are:

Warning: Spoiler!


I'm using this effect in my graphical modification for The Witcher game. ( before and after - from 1.3 alpha)

# Witcher with HBAO+ and some lighting effects - link
#Witcher with HBAO+, TrueColor shader (GEMFX), AmbienteLight shader and some lighting effects + color correction effects + Pseudo SSAO + Cartoon - link

More images:
- Here oryginal game
- Here my modification (full version)
- Here my modification without Pseudo SSAO, Cartoon and TrueColor shader

As you can see, those two effects are very important for my graphical modification

Can you make effect similar to cartoon + Pseudo SSAO? (for games without depth buffer access) Maybe something better? Maybe you can use for this "DepthCheck" algorithm?

Thanks for your time.

*Sorry for my poor grammar.

With kind regards,
jas01

if your using this in the witcher 1 why dont you use the ssao features already there ? also games without depth support down the road if asset dumping is allowed you could see about making an AO map trying to load it in the game
Last edit: 8 years 5 months ago by crosire. Reason: Fixed link

Please Log in or Create an account to join the conversation.

  • jas01
  • Topic Author
More
8 years 11 months ago - 8 years 11 months ago #4 by jas01 Replied by jas01 on topic Request - "Simple pseudo SSAO"
Thanks for your answer. :)

I understand this problem. ;)

Can you make simple effect based on sweetfx cartoon? Something to increase scene depth (darkness of objects edges). I like my pseudo cavity map from sweetfx, but it is not a good solution - issues with textures.

Maybe some sort of blurred " Outline shading / sobel edge" for edges of models, but smudged to center of any model. (or simply blurred cartoon). This can create "dark halo" effect around edges. Effect can be better with "dark halo" only on models... (without halo around them)

Images from photoshop with "blurred cartoon effect": *Better "cartoon effect" can create better results.
#Face
- original
- blurred cartoon effect
- together

#Witcher
- original (game without Anti-aliasing)
- blurred cartoon effect 1 , blurred cartoon effect 2
- together , together 2

More pictures:
- original
- blurred cartoon effect
- together
Last edit: 8 years 11 months ago by jas01.

Please Log in or Create an account to join the conversation.

  • jas01
  • Topic Author
More
8 years 11 months ago - 8 years 11 months ago #5 by jas01 Replied by jas01 on topic Request - "Simple pseudo SSAO"

Kleio420 wrote:

jas01 wrote:
if your using this in the witcher 1 why dont you use the ssao features already there ? also games without depth support down the road if asset dumping is allowed you could see about making an AO map trying to load it in the game


SSAO features for game without depthbuffer access? Also what is asset dumping and AO map? Sorry... I don't know what are those stuff. Can you explain it for me? Please.:)

I can make "occlusion map" for textures, but occlusion map for reshade... I didn't hear about it. Tell me more. :)

Last edit: 8 years 11 months ago by jas01.

Please Log in or Create an account to join the conversation.

  • Marty McFly
More
8 years 11 months ago #6 by Marty McFly Replied by Marty McFly on topic Request - "Simple pseudo SSAO"
Object edges are not detectable with color buffer only - there would be areas where it's applied correctly but many not.
Same like I would turn the whole image black, there would be areas where that would be a correct occlusion but most of the screen not.
If I tried to find out the object edges via color comparison, result would be same like yours - problems with textures. Yes, there are some object edges which could be found via color comparison but in most cases it would darken something totally different.

About AO without AO in other solutions:
There are ways for game devs to implement fake AO - by darkening the textures (the actual textures inside the game's archives - not as post effect!) where they would be occluded. When the 3D Model is inside 3D modeling software, one can render the texture with focus on the occlusion calculated by the 3D software. Very similiar to normal mapping - often the original model is extremely high poly (way too high poly for a video game) and then the poly count gets reduced and a normal map generated which attempts to reconstruct lost detail a different way. There are a number of games which used that technique - back in the days when AO was so expensive that it couldn't be rendered in realtime.
The following user(s) said Thank You: jas01

Please Log in or Create an account to join the conversation.

  • Kleio420
More
8 years 11 months ago #7 by Kleio420 Replied by Kleio420 on topic Request - "Simple pseudo SSAO"

jas01 wrote:

Kleio420 wrote:

jas01 wrote:
if your using this in the witcher 1 why dont you use the ssao features already there ? also games without depth support down the road if asset dumping is allowed you could see about making an AO map trying to load it in the game


SSAO features for game without depthbuffer access? Also what is asset dumping and AO map? Sorry... I don't know what are those stuff. Can you explain it for me? Please.:)

I can make "occlusion map" for textures, but occlusion map for reshade... I didn't hear about it. Tell me more. :)

engine may not support usage of ao textures, reshade may help with this. Example to kinda explain in another way what marty said , imagine you have your normal/displacement/bump mapping what ever is being used and lets say you make a shader and tell it areas that dont "bump" raise apply black this would apply it all over the place be static and inaccurate. There's probably a way around this and making a "pseudo" ssao but is it really worth it in how fast its going to do it compared to just grabbing depth data what i just said would require loads more memory to be loaded probably cost more to render could be done but 100% pointless youll have to sadly just deal with the decision to not give depth buffer access to online games which again brings my next question back why does the witcher 1 not work with ssao the game doesnt connect online it should 100% work with it ?

Please Log in or Create an account to join the conversation.

  • jas01
  • Topic Author
More
8 years 11 months ago #8 by jas01 Replied by jas01 on topic Request - "Simple pseudo SSAO"

Marty McFly wrote: About AO without AO in other solutions:
There are ways for game devs to implement fake AO - by darkening the textures (the actual textures inside the game's archives - not as post effect!) where they would be occluded. When the 3D Model is inside 3D modeling software, one can render the texture with focus on the occlusion calculated by the 3D software. Very similiar to normal mapping - often the original model is extremely high poly (way too high poly for a video game) and then the poly count gets reduced and a normal map generated which attempts to reconstruct lost detail a different way. There are a number of games which used that technique - back in the days when AO was so expensive that it couldn't be rendered in realtime.


Thanks for your advice.
I'm rather weak in 3D modeling, 3D software etc. (I have no experience with them). This method can create very nice results, but I don't have enough time to do this. (hospital etc. ;) ) I also know method to "bake" Ambient occlusion map (based on texture) to texture (Diffuse map and Normal map) - nothing special, but this can create pretty nice results. (usually...)

Okay. Thank you for your time Marty.

BTW. Last thing. What do you think about ENB for The Witcher game. (I posted some information here )

Please Log in or Create an account to join the conversation.

  • jas01
  • Topic Author
More
8 years 11 months ago - 8 years 11 months ago #9 by jas01 Replied by jas01 on topic Request - "Simple pseudo SSAO"

Kleio420 wrote: engine may not support usage of ao textures, reshade may help with this. Example to kinda explain in another way what marty said , imagine you have your normal/displacement/bump mapping what ever is being used and lets say you make a shader and tell it areas that dont "bump" raise apply black this would apply it all over the place be static and inaccurate. There's probably a way around this and making a "pseudo" ssao but is it really worth it in how fast its going to do it compared to just grabbing depth data what i just said would require loads more memory to be loaded probably cost more to render could be done but 100% pointless youll have to sadly just deal with the decision to not give depth buffer access to online games which again brings my next question back why does the witcher 1 not work with ssao the game doesnt connect online it should 100% work with it ?


Hey Kleio420. You are sure that this is possible? Reshade cannot refer to textures from game. I can paste my AO map to Normal map and Diffuse map. With this method I can get effect similar to Ambient occlusion. (but only for flat surfaces)

The Witcher have depth buffer access, but depth buffer only shows GUI (world only during cutscenes). It have nothing to do with the decision to not give depth buffer access to online games.

Cheers
Last edit: 8 years 11 months ago by jas01.

Please Log in or Create an account to join the conversation.

We use cookies
We use cookies on our website. Some of them are essential for the operation of the forum. You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.