OpenGL - SSAO (screen space ambient occlusion)

  Рет қаралды 32,967

Brian Will

Brian Will

4 жыл бұрын

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.

Пікірлер: 27
@ja100o
@ja100o 3 жыл бұрын
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 Жыл бұрын
im late but use hbao or hdao
@ja100o
@ja100o Жыл бұрын
@@chofthch thanks, I'll remember it for my next playthrough:D🫡
@chofthch
@chofthch Жыл бұрын
@@ja100o you are welcome
@Vagelis_Prokopiou
@Vagelis_Prokopiou 4 жыл бұрын
Thanks Brian. Excellent 👌
@SaintP0int
@SaintP0int 4 жыл бұрын
Thanks! I came here only looking for general idea of SSAO, and diagram helped me a lot!
@angieouchakova9107
@angieouchakova9107 4 жыл бұрын
great explanation, thanks!
@KallMeKaii
@KallMeKaii 4 жыл бұрын
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.
@LochNessHamster
@LochNessHamster 2 жыл бұрын
Ambient occlusion is like the drop shadow of 3D lighting.
@jeroen3648
@jeroen3648 2 жыл бұрын
Thank you for this clear explaination :>
@xr.spedtech
@xr.spedtech 6 ай бұрын
You have a nice voice ... I put the "OOP is bad" video on speaker ... Best one for kicker speakers ....
@MrDimakoles
@MrDimakoles 3 жыл бұрын
Thank you so much for this video
@walidyider7766
@walidyider7766 6 күн бұрын
THANKK YOUUU SO MUUUCH
@raghul1208
@raghul1208 2 жыл бұрын
nice playlist
@pelecyphora1
@pelecyphora1 3 жыл бұрын
A g8t explanation
@187onaPigeon
@187onaPigeon 3 жыл бұрын
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 3 жыл бұрын
Try the VULKAN API
@veggiet2009
@veggiet2009 Жыл бұрын
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 2 ай бұрын
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.
@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?
@staticminds2715
@staticminds2715 3 жыл бұрын
hey can you make some reshade filters ????? that do this
@AssassinGrudge
@AssassinGrudge 4 жыл бұрын
wait ao is the number of samples that are occluded from point of view ?
@lisyarus
@lisyarus 3 жыл бұрын
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 7 ай бұрын
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.
@MrDimakoles
@MrDimakoles 3 жыл бұрын
Are two pictures on right real? I mean last ten seconds of video
@dmitry6123
@dmitry6123 4 жыл бұрын
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 - PBR (physically based rendering)
12:47
Brian Will
Рет қаралды 29 М.
Китайка и Хеликоптер😂😆
00:18
KITAYKA
Рет қаралды 1,3 МЛН
ВИРУСНЫЕ ВИДЕО / Виноградинка 😅
00:34
Светлый Voiceover
Рет қаралды 7 МЛН
OpenGL - deferred rendering
9:42
Brian Will
Рет қаралды 30 М.
What the Heck Is Ambient Occlusion?!
2:48
Greg Salazar
Рет қаралды 191 М.
Interactive Graphics 23 - Ambient Occlusion & Soft Shadows
1:04:54
Ambient Occlusion as Fast As Possible
5:04
Techquickie
Рет қаралды 663 М.
Camera/View Space // OpenGL Beginners Series
21:59
OGLDEV
Рет қаралды 17 М.
Basic Shadow Mapping // Intermediate OpenGL Series
16:54
OGLDEV
Рет қаралды 18 М.
Advanced OpenGL Topics, BETTER SSAO: HBAO
4:28
Low Level Game Dev
Рет қаралды 3 М.
Computer Graphics Tutorial - PBR (Physically Based Rendering)
13:40
Victor Gordan
Рет қаралды 29 М.
How This Pen Changed The World
9:17
Primal Space
Рет қаралды 570 М.