High Dynamic Range (HDR) and Tone Mapping

Поділитися
Вставка
  • Опубліковано 6 вер 2024
  • In this second installment of the post processing series we learn the proper order of post processing effects as well as how games handle rgb values that exceed one, also known as high dynamic range (HDR).
    Support me on Patreon!
    / acerola_t
    Twitter: / acerola_t
    Twitch: / acerola_t
    Code: github.com/Gar...
    Join My Discord Server! / discord
    Music:
    Joy - Persona 3 OST
    During The Test - Persona 3 OST
    Afternoon Break - Persona 3 OST
    Vehicle Handling - Persona 2 OST
    Thanks for watching!
    This video is dedicated to my friend, Alotryx.
    #acerola #gamedev #graphics #unity #unity3d #madewithunity #indiedev #unity2d #shader #hdr

КОМЕНТАРІ • 84

  • @gonderage
    @gonderage 2 роки тому +148

    i just found ya channel today, and you're criminally underexposed for the quality content you make. I never really knew anything bout tone mapping till now. Good channel :>

  • @roxiethorne
    @roxiethorne 2 роки тому +43

    Another certified Acerola classic

  • @microdavid7098
    @microdavid7098 2 роки тому +24

    there's a lot of good info in this channel. One of the few gamedev channels that really dives into technical stuff

  • @BobzBlue
    @BobzBlue Рік тому +10

    I always set the minecraft seus shader to aces just because I thought it looked better, I didn't know it was actually objectively the best

    • @Acerola_t
      @Acerola_t  Рік тому +10

      there isnt really an objectively best tone mapper it's very context dependent lol
      aces is just the default 'looks good' tone mapper

    • @BobzBlue
      @BobzBlue Рік тому +8

      I was going to say industry standard but I was too tired to remember if that was the term you used.

  • @corok12
    @corok12 2 роки тому +19

    I found your channel last week, and your sub count has been shooting up every time I've come back. Keep it up! Excellent videos!

    • @Acerola_t
      @Acerola_t  2 роки тому +7

      Thanks! My videos seem to have finally found the right audience lol

  • @DavidAddis
    @DavidAddis Рік тому +7

    What a fantastic video! I had wondered how the maths of HDR rendering worked for so long, and you explained it clearly and quickly.

  • @nibblrrr7124
    @nibblrrr7124 Рік тому +5

    I'm still undecided as to whether _Tumblin Rushmeier_ sounds more like a daredevil aerobatics maneuver, a stiff drink, or the stage name of some crusty country-blues guitarist.

  • @oby1
    @oby1 2 роки тому +4

    Bruh. Your videos are extremely high quality. I binge watched em all ^-^

  • @mskiptr
    @mskiptr Рік тому +2

    Cool video hartoundebreado!
    Btw, Narkowicz (in Polish) would be read like nar-ko-veech
    _w->v; i->ee; cz->ch_
    (and the full name is Krzysztof Narkowicz -> kshish-tof nar-ko-veech)

    • @Acerola_t
      @Acerola_t  Рік тому +2

      This is very helpful, thank you!

  • @tnt345i7
    @tnt345i7 2 роки тому +30

    cool video, maybe you should cover a pixelation effect, like in "dead cells" and a "a short hike" or stuff that
    t3ssel8r makes. pixel art sprite rotation (like in noita or guns in ETG)

    • @Acerola_t
      @Acerola_t  2 роки тому +8

      That's a great idea! I'll add that to the list of video plans.

    • @avivkandabi7088
      @avivkandabi7088 2 роки тому +1

      @@Acerola_t Looking forward to it :D

  • @bitbraindev
    @bitbraindev 2 роки тому +2

    These videos are so interesting to watch! You earned my subscription.

  • @simply_aman
    @simply_aman 2 роки тому +2

    omg bro u r soo underrated that i am first time sharing someone on my whatsapp status! Good work man

  • @myfavoritemusic2428
    @myfavoritemusic2428 8 місяців тому

    it's astonishing how motivated and de-motivated you sound at the same time
    (this is a compliment, or it is intended at that)

  • @FirstKeeper
    @FirstKeeper 2 роки тому +3

    Great video, thank you!

  • @Saturn2888
    @Saturn2888 2 роки тому +6

    This would've been better if it lead into how SpecialK and Windows/Xbox Auto HDR work. I think the video unlocked that reasoning for me, but didn't go into enough detail with it. Either way, it was clear why SDR games looks so bad once you put those all on the screen (except Tumblin Rushmeier). There's simply not enough dynamic range available, so everything looks like it has a haze over it. Did Valve's HL2 HDR use something similar? From what I can tell, the reason Tumblin Rushmeier looks better is because it allows clipping at the top range; something HL2's HDR had as well.

    • @Acerola_t
      @Acerola_t  2 роки тому +3

      I'm gonna explain auto exposure in my next vid, don't worry!

    • @Saturn2888
      @Saturn2888 2 роки тому +1

      @@Acerola_t Awesome! What a great channel! Could do without the pink-boxed video, but the rest is fantastic!
      I enjoy watching your newer video more than your old ones. For some reason, the Minecraft shader video wasn't as fun to watch; still good content, but didn't grab me the same as the newer ones.

    • @Acerola_t
      @Acerola_t  2 роки тому +3

      @@Saturn2888 Yeah I've learned a lot since the minecraft video lol
      Thanks for watching!

  • @khalidnaqeeb6512
    @khalidnaqeeb6512 7 місяців тому

    Thanks for letting me know about my tcl tv
    Using this technology you talked about 🙏🏻❤

  • @kkibi
    @kkibi 2 роки тому +3

    nice!

  • @RemjieGemillion
    @RemjieGemillion 7 місяців тому

    in fact, Unreal Engine seems to use their own color correction curve, a simpler one who gave similar result than ACES. I tryed it on Unity, it gave nice results.

  • @TheMrLeoniasty
    @TheMrLeoniasty 2 роки тому +3

    Nice video ! I work in VFX and not games so It may work different there, but shouldn't exposure go before bloom? So that the threshold is proper for the image? At least thats how I usually add it in my workflow.

    • @Acerola_t
      @Acerola_t  2 роки тому +4

      Technically yes exposure should go before bloom but it's simpler to have exposure as part of the color correction pass, in an ideal world you have exposure as a parameter of the bloom pass too.

    • @TheMrLeoniasty
      @TheMrLeoniasty 2 роки тому +3

      @@Acerola_t yeah, makes sense. It's the same problem I always have when applying motion blur and lens blur. The physically accurate way it so apply them at the same time, like in a camera (or just a plain pathtrace render engine), but in software like After Effects one has to be before the other. I usually go with motion blur first and then lens blur. I know Nuke has a way to implement them both accuratelly at the same time.

  • @ViRiXDreamcore
    @ViRiXDreamcore 2 роки тому +2

    I’d mlove to get more info on HDR, for monitors that support it

  • @mikafoxx2717
    @mikafoxx2717 11 місяців тому +1

    Funny that the oldest was more preferrable. I think it's because it leverages a more HDR look. On modern monitors you dont need to squash it down as much because we have such a high brightness ceilling. If only HDR was better standardized.. nobody runs their displays at 100 nits peak brightness these days unless you're some kind of editor

  • @EMB3D
    @EMB3D 3 місяці тому

    if you still need idea about the next video, then ambient occlusion, and/or global illumination video would be nice!

  • @kevinchen8325
    @kevinchen8325 Рік тому

    this channel is so underrated this is so good!

  • @AyushBakshi
    @AyushBakshi Рік тому

    Great channel you built there! Short and dense 👌🏻

  • @Jaspev
    @Jaspev Рік тому +1

    Nice hoodie

  • @inconnn
    @inconnn 2 роки тому +5

    would anything interesting happen if you applied a different curve for red green and blue? i'm sure it would look weird but seems kinda interesting

    • @Acerola_t
      @Acerola_t  2 роки тому +4

      That's an interesting idea, I will try it out sometime lol

  • @blacklistnr1
    @blacklistnr1 Рік тому

    @1:57 Quite niche nitpick: the purple you show there is a cool color as most of its variants are due to its blue component, although is does tend to look quite warm when it gets into the pinks.

  • @inodedentry8887
    @inodedentry8887 6 місяців тому

    Do you know about Tony McMapface? It's a perfectly cromulent tonemapping algorithm! I'd even say one of the best!

  • @bfmwaves558
    @bfmwaves558 Рік тому +1

    I have a question about the Tumblin Rushmeier tonemap, I'm looking for an example of GLSL code, but I can't find any.
    I'm looking to implement it in a shader for minecraft with plain other tonemaps like Reinhard, Uchimura or ACES, which I already have.
    Could you help me with this?
    By the way, your video is awesome !
    I'm using a translator, so sorry if it's not right..

  • @NumberOneRandomz
    @NumberOneRandomz 2 роки тому +2

    killin it

  • @GameDevGeeks
    @GameDevGeeks Рік тому

    very clear explanation! amazing content

  • @controlflow89
    @controlflow89 Рік тому

    Subbed! Great content 🙏🙏🙏

  • @sehzadeselim863
    @sehzadeselim863 7 місяців тому

    4:55 I supposed he had suggested using L(x, y) / (1 + L(x, y) ) + 0.5 instead xd

  • @Maleriandro
    @Maleriandro 2 роки тому +3

    1:27 But in the last video you said that you lied to us because bloom comes after gamma correction #AcerolaLiedPeopleDied, but now its the gamma that is the last. sooo you technically didn't lie? #AcerolaDidntLiePeopleDidntDie

  • @chickennugget6684
    @chickennugget6684 2 роки тому

    so that's why certain games on Ps4 make the colours on the home screen go wack and look unsaturated (atleast on our projector)
    cool stuff.

  • @radicant7283
    @radicant7283 7 місяців тому

    Acerola I love you~

  • @Rumplestiltzchen
    @Rumplestiltzchen 2 роки тому

    This music is groovy!

  • @Pauglin
    @Pauglin Рік тому

    thanks

  • @anonymouscommentator
    @anonymouscommentator 9 місяців тому

    this seems like a fairly easy effect to implement. why do e.g. windows or youtube struggle with it so much? in linux it has already take quite some time and we are just now on the steam deck beginning to see some hdr implementations. what am i missing?

    • @anonymouseovermouse1960
      @anonymouseovermouse1960 8 місяців тому +1

      Honestly, the likeliest reason is that windows and YT don't give enough of a fuck to work on a solution

  • @Laima-h4w
    @Laima-h4w 6 днів тому

    So can a lack of tone mapping exist ? would it be rgb clamped or another thing ?

  • @gscruz7840
    @gscruz7840 2 роки тому +3

    Hey I have a question. Do you recommend going to college to learn: Coding/ Game dev?

    • @Acerola_t
      @Acerola_t  2 роки тому +11

      It really depends, I personally do really well in formal education environments and I prospered a lot in school. If it wasn't for my first few college classes I wouldn't be interested in graphics or be making these youtube videos at all. One thing I really had to learn and struggled with was self motivation and teaching myself skills, which is incredibly valuable and necessary if you want to succeed in these fields. Game development especially, a portfolio is necessary to get a job anywhere and school isn't going to help you with that very much.
      If you are going to university and are choosing between computer science/game dev, you should do computer science since it's a much more valuable degree and opens you up to way more jobs than game dev specifically, I know many people who went for game dev and learned that they hate working in the industry and are now stuck.
      School is not a necessity though, there's many people who teach themselves how to program, make programs to demonstrate those skills, and show them to employers and get hired. What school does is it provides you with a formal structure to learn, as well as giving you tons of connections which are invaluable. I wouldn't be working at Intel if I didn't make a connection during my time at university.

    • @gscruz7840
      @gscruz7840 2 роки тому +3

      Dang. Thanks for the response.
      I will look into the computer science thing see if I develop and interest for it

    • @mrnipzs7604
      @mrnipzs7604 2 роки тому

      @@gscruz7840 update?

    • @onceagain569
      @onceagain569 Рік тому +1

      @@Acerola_t Just wanted to say I really appreciate your response :)

  • @mattsmith4684
    @mattsmith4684 2 роки тому +4

    You're pretty cute

  • @alejandrocambraherrera8242
    @alejandrocambraherrera8242 Рік тому +1

    You said bloom comes after colour correction in your Elden Ring video 🤔

  • @xGOKOPx
    @xGOKOPx Рік тому

    How does this relate to working with HDR displays? Do you just skip tonemapping? What about gamma correction?
    Asking theoretically because I don't even have a HDR display haha

    • @Acerola_t
      @Acerola_t  Рік тому +1

      That tech is so new that I'm not sure if there's really an industry standard approach, but I think you skip tonemapping yeah
      gamma correction goes after tone mapping because you don't want to apply an exponent to a term that is outside the range 0-1, I am unsure how you would apply gamma correction in an hdr display context or if you would even need to.

  • @Antsaboy94
    @Antsaboy94 2 роки тому

    How about you maintain the ratios between RGB values and apply tone mapping on their luminosity value?

  • @gustavbw
    @gustavbw 2 роки тому +2

    So, temperature is Saturation, tint is Hue and exposure is Value? (Speaking in HSV terms that is)

    • @gustavbw
      @gustavbw Рік тому

      @@gregoryford2532 no

    • @felixmoore6781
      @felixmoore6781 Рік тому

      No.
      Those are 3 quantities that define an element in the HSV color space, a color. Temperature+tint and exposure are operations or transformations on color space elements. But you can have a saturation factor, which is still not even close color temperature, a hue shift, which is not as far off but still not even close to tint, and a value factor, which actually can behave kind of like exposure, but the calculations are probably different. And exposure is often quantified in "stops", so the factor there changes exponentially.

  • @abulak3477
    @abulak3477 2 роки тому +2

    in unreal they already built-in

    • @Acerola_t
      @Acerola_t  2 роки тому +3

      It's also built-in for URP and HDRP in Unity as far as I know, but the point of my videos is to understand how those built-in features work under the hood.

  • @az-kalaak6215
    @az-kalaak6215 2 роки тому

    I have a question which could be a suggestion too
    regarding everything I saw today from your channel (mainly grass), could you please explain hos some games do to do fire-propagation on grass ?
    is is post-processing part ?
    does it mean grass needs representation on cpu side ?

    • @Acerola_t
      @Acerola_t  2 роки тому +2

      Honestly I'm not sure how it works, yeah it needs some representation cpu side but I'm not sure how games like breath of the wild do it.

    • @az-kalaak6215
      @az-kalaak6215 2 роки тому +1

      @@Acerola_t from what I would implement it, i would do smaller chunk that can get three states
      "normal"
      "on fire"
      "burned"
      cpu side, only the chunk exists, however gpu side chunk have grass inside
      the fire spread would be calculated cpu side and the graphical effect gpu side
      however, since i'm not a graphical dev nor a shader dev, I have no clue if this is even possible (and i'm not even talking about optimisation as well.... you cannot really optimise something you don't know how to do haha)
      inside a chunk if seeking more realism it would probably be possible to give the starting position of the fire (gpu side) to adapt the graphical effect, syncing it to th cpu calculation to spread it.
      would be squar-ish but maybe hexagonal shaped chunk would do it ? sub-chunking might get too much ressources so that's the only part i can see
      and in botw from what I remember the grass is not really burned, it is bent to the ground with a black texture and burning always is a small circle (when it does not propagate)
      I know far cry serie also have propagating fire, I could try to contact a friend that worked at ubisoft to see if he know how they did this (dunno if he'd respond though)

    • @nathanhelmburger
      @nathanhelmburger Рік тому

      Or... You could use the Power of AI!!! ua-cam.com/video/AGCH1GR7pPU/v-deo.html

  • @NielsGx
    @NielsGx 6 місяців тому

    Hable is too dim and grey compared to reinhard
    sadly MPV video player has no other tone mapping available

  • @Saturn2888
    @Saturn2888 Рік тому

    Super side comment: Do you live in a trailer home or RV? Your room layout seems very awkward for a house. The window is super low and long, there are cabinets sitting over a couch, and the ceiling shrinks by a foot over that cabinet.

  • @Marc142000
    @Marc142000 Рік тому

    Oh so bloom doesn't come last?

    • @Acerola_t
      @Acerola_t  Рік тому +1

      no any hdr effects come before tone mapping

    • @Marc142000
      @Marc142000 Рік тому

      Thank you for the reply in this older video!! Keep doing amazing stuff

  • @thegirlwithmemes
    @thegirlwithmemes Рік тому

    egg lol

  • @id462408
    @id462408 2 роки тому

    ssr