Skip to main content
10 votes
Accepted

Why is AO considered Post-Processing?

This is a potentially confusing re-use of terminology. Ambient Occlusion is not in itself a post processing effect. Screen Space Ambient Occlusion is a post processing effect using the depth buffer to ...
trichoplax is on Codidact now's user avatar
7 votes
Accepted

Alternatives to Ambient Occlusion

Ambient occlusion cannot be physically based no matter what algorithm you use to calculate it. It's a simplification of global illumination that assumes all occluders only block light and are ...
Quinchilion's user avatar
6 votes
Accepted

What are some new Real-Time Graphics Rendering Techniques to get closer to real life?

PBR isn't just a feature you "add to a rendering engine" but an entire philosophy how to approach solving rendering problems. This seems to be a common prevailing misconception when people talk about ...
JarkkoL's user avatar
  • 3,636
5 votes

Why wasn't CryTek SSAO multiplied by 2?

Ambient occlusion is the direct illumination at a Lambertian surface point due to a homogeneous light source at infinity. That means that you assume a light source with $L_e(\pm\infty, \omega_i) = 1$, ...
lightxbulb's user avatar
  • 2,226
5 votes

What is the difference between shading and shadowing?

In simplified terms, shading controls how object's surface's brightness changes when the angle between its normal and light vector changes. Shadows are areas where the light cannot reach because it's ...
SurvivalMachine's user avatar
4 votes

Why is AO considered Post-Processing?

Ambient occlusion isn't a technique, but rather a concept. It can be implemented (and approximated) as a post-processing effect such as SSAO, SSDO, HBAO+, etc. @trichoplax gave a good answer, I just ...
aces's user avatar
  • 1,353
4 votes
Accepted

Ambient occlusion of a sole object in a scene

When you compute ambient occlusion (AO) for a point on an object's surface, you sample multiple directions and measure what fraction of them escape. That is, you're trying to approximate what fraction ...
Dan Hulme's user avatar
  • 6,840
3 votes

Ambient occlusion of a sole object in a scene

Ambient occlusion is basically shooting out a large number of rays diffusely from a surface point. In a pipe some of the rays will intersect with the pipe itself, which means that this surface point ...
beyond's user avatar
  • 315
3 votes
Accepted

What is Radiosity?

Radiosity is a way to calculate diffuse GI, i.e. every surface is assumed to be Lambertian surface without specular component. In the radiosity algorithm you split surfaces into small patches and ...
JarkkoL's user avatar
  • 3,636
2 votes

What is the difference between shading and shadowing?

The distinction is not clear mainly because the term "shading" is an extremely broad term. One of the first uses for programmable "shaders" in real-time graphics pipeline was computing illumination on ...
GroverManheim's user avatar
2 votes
Accepted

Edge-aware spatial denoising (Ambient Occlusion)

I've also been working on GTAO denoising, and came across the same equation.The function is weighing the neighbouring samples by their depth-difference from the center sample, and also by their slopes....
Benjamin Sims's user avatar
2 votes
Accepted

SSAO with reconstructed depths yields strip artifacts

For anyone having the same problem: I calculated the normalized texture coordinates by ...
Sprinklerkopf's user avatar
2 votes
Accepted

Screen Space Ambient Occlusion Issues

You need to be careful about spaces - position and normal need to be in view space. To transform depth into view space position I used this method. So: ...
mdkdy's user avatar
  • 2,169
1 vote

Why wasn't CryTek SSAO multiplied by 2?

1 possible answer from RTR4: "Doing so causes a flat surface to be darkened, with edges being brighter than their surroundings. Nonetheless, the results are often visually pleasing."
macrod's user avatar
  • 11
1 vote
Accepted

Ambient occlusion depth buffer normalization

Here is a linearize depth function that expects the non-linear values to be between [0,1] and works in Vulkan. ...
pmw1234's user avatar
  • 3,239
1 vote

Ambient occlusion depth buffer normalization

I feel it could do with the depth buffer since I was not sure what "ndc_linear_depth" meant. I was told to implement a normalised device coordinate linear depth Which confused me since ...
wychmaster's user avatar
  • 1,251
1 vote

Expected visibility

You need to perform integration of $P$ over the hemisphere to calculate the solution. There doesn't seem to be closed-form solution as the solution requires incomplete gamma function: $$2\pi(e^{-\...
JarkkoL's user avatar
  • 3,636

Only top scored, non community-wiki answers of a minimum length are eligible