OpenGL - SSAO (screen space ambient occlusion)

  Рет қаралды 36,316

Brian Will

Brian Will

Күн бұрын

Code samples derived from work by Joey de Vries, @joeydevries, author of learnopengl.com/
All code samples, unless explicitly stated otherwise, are licensed under the terms of the CC BY-NC 4.0 license as published by Creative Commons, either version 4 of the License, or (at your option) any later version.

Пікірлер: 28
@ja100o
@ja100o 4 жыл бұрын
9:03 I´m currently replaying Far Cry 3 and I noticed that outline around characters and objects. Now I know why it´s there. Thank you very much!
@chofthch
@chofthch 2 жыл бұрын
im late but use hbao or hdao
@ja100o
@ja100o 2 жыл бұрын
@@chofthch thanks, I'll remember it for my next playthrough:D🫡
@chofthch
@chofthch 2 жыл бұрын
@@ja100o you are welcome
@JstaChillGuy
@JstaChillGuy 5 жыл бұрын
I'm glad I could find a video explaining what exactly SSAO is and what it does and what the difference in with and without it is/looks like. (I had to know for in-game graphics settings if I need/want it) Thumbs up. PS: Nice voice btw.
@Vagelis_Prokopiou
@Vagelis_Prokopiou 5 жыл бұрын
Thanks Brian. Excellent 👌
@SaintP0int
@SaintP0int 5 жыл бұрын
Thanks! I came here only looking for general idea of SSAO, and diagram helped me a lot!
@angieouchakova9107
@angieouchakova9107 5 жыл бұрын
great explanation, thanks!
@jeroen3648
@jeroen3648 3 жыл бұрын
Thank you for this clear explaination :>
@raghul1208
@raghul1208 2 жыл бұрын
nice playlist
@LochNessHamster
@LochNessHamster 3 жыл бұрын
Ambient occlusion is like the drop shadow of 3D lighting.
@xpez9694
@xpez9694 3 ай бұрын
og cheats to make things look good regardless of render time..
@dmitrykolesnikovich
@dmitrykolesnikovich 4 жыл бұрын
Thank you so much for this video
@walidyider7766
@walidyider7766 9 ай бұрын
THANKK YOUUU SO MUUUCH
@187onaPigeon
@187onaPigeon 4 жыл бұрын
I am trying some OpenGL for the firsf time and 2 days ago 95% of this code would have been very confusing. I will try this later for sure. Thanks!
@Interestingworld4567
@Interestingworld4567 4 жыл бұрын
Try the VULKAN API
@veggiet2009
@veggiet2009 2 жыл бұрын
Ambient occlusion is a good approximation for situations where direct illumination is not present. But then in the real world nothing really distinguishes an "emitted" light ray from a "reflected" light ray. But where a strong light is not present and where textures are less reflective, the lights get bounced in multiple directions the more light that gets sent in multiple directions either through diffuse reflection, or refraction, the more that light will appear like what we think of as "ambient" lighting
@syntaxed2
@syntaxed2 11 ай бұрын
There are no light "rays" in nature...just photons. Photons are particles, and particles are quantum objects - a quanta of a vibration in the electromagnetic field. They have wave-duality, meaning they are both particles and waves at the same time. They may also be entangled to other stuff. They dont bounce but rather get entangled to matter particles in varying degrees. We cant simulate any of this.
@pelecyphora1
@pelecyphora1 4 жыл бұрын
A g8t explanation
@AssassinGrudge
@AssassinGrudge 5 жыл бұрын
wait ao is the number of samples that are occluded from point of view ?
@xr.spedtech
@xr.spedtech Жыл бұрын
You have a nice voice ... I put the "OOP is bad" video on speaker ... Best one for kicker speakers ....
@CodeParticles
@CodeParticles 2 жыл бұрын
@Brian Will, I apologize for commenting 3 years so late, but is it possible to do a follow up on the improved SSAO called HBAO+? (Horizontal Based Ambient Occlusion? I read this on Nvidia papers, and they confirmed its better than SSAO in every way and even 3x more efficient?
@lisyarus
@lisyarus 4 жыл бұрын
Your way of generating a random vector inside a hemisphere doesn't produce a uniform distribution, since the probability around the four "corners" (±1, ±1, 1) is higher than in other areas. A better way would be to use rejection sampling: instead of normalizing the vector & making a random length, just check if it is inside the hemisphere, otherwise generate a new vector, and so on. This way, the distribution would be uniform.
@abyssaldision5134
@abyssaldision5134 Жыл бұрын
He's using accelerated lerp, so the majority of the samples end up around the origin (i.e., 0, 0, 0 not 1, 1, 1), thats what you want you don't want them evenly distributed inside the hemisphere.
@staticminds2715
@staticminds2715 4 жыл бұрын
hey can you make some reshade filters ????? that do this
@dmitrykolesnikovich
@dmitrykolesnikovich 4 жыл бұрын
Are two pictures on right real? I mean last ten seconds of video
@dmitry6123
@dmitry6123 5 жыл бұрын
Just two words: CACHE EFFICIENCY. Not a good idea to use whole gbuffer for random texture reads. Use 16bit depth buffer (reduced at least in half ) and restore position in any space you want. It would have much better performance. Just saying.
@robloxfan4271
@robloxfan4271 Жыл бұрын
Looks hardy any diffrent
OpenGL - deferred rendering
9:42
Brian Will
Рет қаралды 33 М.
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
Don’t Choose The Wrong Box 😱
00:41
Topper Guild
Рет қаралды 62 МЛН
Stochastic Screen-Space Reflections (SIGGRAPH 2015)
29:01
Dan the Man
Рет қаралды 5 М.
OpenGL - gamma correction, HDR tone mapping, bloom
15:26
Brian Will
Рет қаралды 13 М.
OpenGL - Multisample Anti-Aliasing
11:21
Brian Will
Рет қаралды 18 М.
How I Made The World with SINE
9:35
Coder Space
Рет қаралды 185 М.
Advanced OpenGL Topics, BETTER SSAO: HBAO
4:28
Low Level Game Dev
Рет қаралды 5 М.
Coding Adventure: Ray Tracing
37:58
Sebastian Lague
Рет қаралды 1,2 МЛН
I Remade Star Wars VFX
10:39
ErikDoesVFX
Рет қаралды 3,2 МЛН
What the Heck Is Ambient Occlusion?!
2:48
Greg Salazar
Рет қаралды 209 М.
Computer Graphics Tutorial - PBR (Physically Based Rendering)
13:40
Victor Gordan
Рет қаралды 37 М.
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН