OpenGL - SSAO (screen space ambient occlusion)

Sdílet
Vložit
  • čas přidán 17. 08. 2019
  • 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.

Komentáře • 27

  • @ja100o
    @ja100o Před 3 lety +18

    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 Před rokem +1

      im late but use hbao or hdao

    • @ja100o
      @ja100o Před rokem

      @@chofthch thanks, I'll remember it for my next playthrough:D🫡

    • @chofthch
      @chofthch Před rokem

      @@ja100o you are welcome

  • @Vagelis_Prokopiou
    @Vagelis_Prokopiou Před 4 lety +3

    Thanks Brian. Excellent 👌

  • @angieouchakova9107
    @angieouchakova9107 Před 4 lety +3

    great explanation, thanks!

  • @SaintP0int
    @SaintP0int Před 4 lety +1

    Thanks! I came here only looking for general idea of SSAO, and diagram helped me a lot!

  • @MrDimakoles
    @MrDimakoles Před 3 lety

    Thank you so much for this video

  • @LochNessHamster
    @LochNessHamster Před 2 lety +2

    Ambient occlusion is like the drop shadow of 3D lighting.

  • @jeroen3648
    @jeroen3648 Před 2 lety +1

    Thank you for this clear explaination :>

  • @KallMeKaii
    @KallMeKaii Před 4 lety +16

    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.

  • @walidyider7766
    @walidyider7766 Před 2 měsíci

    THANKK YOUUU SO MUUUCH

  • @raghul1208
    @raghul1208 Před 2 lety

    nice playlist

  • @xr.spedtech
    @xr.spedtech Před 8 měsíci

    You have a nice voice ...
    I put the "OOP is bad" video on speaker ...
    Best one for kicker speakers ....

  • @CodeParticles
    @CodeParticles Před 2 lety

    @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?

  • @187onaPigeon
    @187onaPigeon Před 4 lety

    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!

  • @veggiet2009
    @veggiet2009 Před 2 lety

    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 Před 4 měsíci +1

      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 Před 3 lety

    A g8t explanation

  • @AssassinGrudge
    @AssassinGrudge Před 4 lety +1

    wait ao is the number of samples that are occluded from point of view ?

  • @lisyarus
    @lisyarus Před 3 lety +2

    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 Před 9 měsíci

      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 Před 3 lety

    hey can you make some reshade filters ????? that do this

  • @MrDimakoles
    @MrDimakoles Před 3 lety

    Are two pictures on right real? I mean last ten seconds of video

  • @dmitry6123
    @dmitry6123 Před 4 lety +1

    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 Před rokem

    Looks hardy any diffrent