Screen space ambient occlusion (SSAO) is a rendering technique for efficiently approximating the computer graphics ambient occlusion effect in real time.
Questions tagged [ssao]
64 questions
13
votes
1 answer
OpenGL GLSL SSAO Implementation
I try to implement Screen Space Ambient Occlusion (SSAO) based on the R5 Demo found here: http://blog.nextrevision.com/?p=76
In Fact I try to adapt their SSAO - Linear shader to fit into my own little engine.
1) I calculate View Space surface…

mp87
- 141
- 1
- 1
- 4
5
votes
1 answer
OpenGL: Projecting view-space co-ordinates to NDCs, results seemingly outside of [-1,1] range
I've been attempting to implement screen-space ambient occlusion as instructed by this tutorial. I've been tackling problems with my implementation as I've come across them, but this one has me stumped at the moment.
My understanding of the method…

Richard Williams
- 291
- 2
- 11
5
votes
0 answers
SSAO and Multiple Scenes in Three.JS
I'm stuck on this problem and have been working on it and researching it for hours now.
I'm trying to render my scene, using EffectComposer, so that my background objects don't have SSAO (in my real project, it's a procedural city) and my foreground…

Adam Miskiewicz
- 621
- 6
- 6
4
votes
2 answers
Antialiasing during depth post-processing for SSAO
I need to enhance the visual perception of some mechanical parts with very fine details, so I am playing now with different implementations of screen.space ambient occlusion.
Until now, I was drawing my geometries directly to the screen in…

deblocker
- 7,629
- 2
- 24
- 59
4
votes
1 answer
Pure Depth SSAO flickering
I try to implement Pure Depth SSAO, using this tutorial, into an OpenGL ES 2.0 engine.
Now I experience flickering, which looks like I read from somewhere, where I have no data.
Can you see where I made a mistake or do you have an idea how to solve…

Jan Bögemann
- 41
- 5
4
votes
2 answers
Slow texture fetch in fragment shader using Vulkan
I am doing a SSAO shader with a kernel size of 64.
SSAO fragment shader:
const int kernelSize = 64;
for (int i = 0; i < kernelSize; i++) {
//Get sample position
vec3 s = tbn * ubo.kernel[i].xyz;
s = s * radius + origin;
…

Samantha
- 284
- 1
- 11
3
votes
1 answer
OpenGL - strange SSAO artifact
I followed the tutorial at Learn OpenGL to implement Screenspace Ambient Occlusion. Things are mostly looking okay besides a strange artifact at the top and bottom of the window.
The problem is more obvious moving the camera, when it appears as if…

livin_amuk
- 1,285
- 12
- 26
3
votes
0 answers
LibGDX 3d implementing SSAO
Is there a way to implement SSAO in a 3d scene in LibGDX?
My project extends ApplicationAdapter and uses a ModelBatch to render ModelInstances.
Thanks

TinFellow
- 324
- 3
- 12
3
votes
1 answer
SSAO implementation in Babylon JS and GLSL, using view ray for depth comparison
I'm trying to create my own SSAO shader in forward rendering (not in post processing) with GLSL. I'm encountering some issues, but I really can't figure out what's wrong with my code.
It is created with Babylon JS engine as a BABYLON.ShaderMaterial…

Damian Taylor
- 51
- 1
- 8
3
votes
0 answers
SSAO not displaying correct results, mostly no visible occlusion
I'm following the tutorial by John Chapman (http://john-chapman-graphics.blogspot.nl/2013/01/ssao-tutorial.html) to implement SSAO in a deferred renderer. The input buffers to the SSAO shaders are:
World-space positions with linearized depth as…

ABHAY
- 221
- 2
- 12
3
votes
1 answer
Should this depth buffer visualisation appear smooth?
I'm debugging a problem with SSAO and try to visualise my depth buffer. Here's the result:
I'm storing the depth and normals in a single 16-bit RGBA texture. This is my depth pass shader:
// Vertex shader
#version 150 core
#extension…

SurvivalMachine
- 7,946
- 15
- 57
- 87
2
votes
2 answers
Opengl : SSAO vs Shadow mapping
Literary every tutorial that has written an article on SSAO ends with 'dosent exactly produce realistic results'. We can get much more accurate shadows with shadow mapping without the extra memory required to store a texture[or an uniform array]…

Sync it
- 1,180
- 2
- 11
- 29
2
votes
0 answers
OpenGL : Screen-Space Ambient Occlusion (SSAO)
I followed this tutorial for Screen-Space Ambient Occlusion (SSAO), but it seems like something is not working as it should.
As you can see from the screenshot, there is some pattern in the darker areas where ambient occlusion is most evident.
I…

Arctic Pi
- 669
- 5
- 19
2
votes
1 answer
Combine SSAO with global light and local lights
I have recently implemented SSAO in my engine(deferred shading), but I am very insecure of how I should combine SSAO with global light and local lights(point light).
Should I do this:
//Global light pass.
vec3 sceneColor = DiffuseBRDF +…

karl88
- 341
- 2
- 13
2
votes
3 answers
Scalable Ambient Obscurance rendering issue
I am trying to implement this SAO algorithm.
I am getting the following result :
I can't figure out why I have the nose on top of the walls, it seems to be a z-buffer issue.
Here are my input values :
const float projScale = 100.0;
const float…

Xavier Bigand
- 317
- 3
- 10