Bloom.

Become smarter in 5 minutes by signing up for free today: cen.yt/mbthecherno - Thanks to Morning Brew for sponsoring today’s video! ❤️
Patreon ► / thecherno
Instagram ► / thecherno
Twitter ► / thecherno
Discord ► / discord
Thumbnail was rendered in Hazel.
SOURCES:
📈 An example of CRT bloom (this video shows two types of bloom!): • An example of CRT bloom
📈 Learn OpenGL Bloom tutorial: learnopengl.com/Advanced-Ligh...
📈 Sascha Willems Vulkan examples: github.com/SaschaWillems/Vulkan
📈 Next Generation Post Processing In Call of Duty: Advanced Warfare: www.iryoku.com/next-generation...
📈 Unity's bloom shader: github.com/Unity-Technologies...
TIMESTAMPS:
0:00 - What is bloom?
3:00 - Creating bloom in Photoshop
6:22 - Bloom tutorials
10:30 - How bloom works in Unity
19:32 - Bloom in Call of Duty: Advanced Warfare
22:34 - Bloom in Hazel
This video is sponsored by Morning Brew.
#Hazel

Пікірлер: 382

  • @TheCherno
    @TheCherno3 жыл бұрын

    Hope you all enjoyed the video, let me know if you want to see more like this one! ❤️ HUGE thank you to Morning Brew for keeping my juice knowledge relevant and for allowing me to spend so much time working on this video! Sign up for free here: cen.yt/mbthecherno

  • @nexovec

    @nexovec

    3 жыл бұрын

    This is actually the best format you've tried so far.

  • @nullbeyondo

    @nullbeyondo

    3 жыл бұрын

    I like it a lot.

  • @domjanabi6006

    @domjanabi6006

    3 жыл бұрын

    first 30 seconds got me hooked i think this is a nice format

  • @devtry

    @devtry

    3 жыл бұрын

    Really enjoyed it, I'll look forward for other videos like this

  • @moinleudde7702

    @moinleudde7702

    3 жыл бұрын

    Yeah, I really enjoyed it and it was really helpful for me because I just implemented bloom myself but wasn't particularly pleased with the results I was getting after following some tutorials. Would definitely like seeing more videos of this kind. ❤

  • @octaviosilva5808
    @octaviosilva58083 жыл бұрын

    Whenever i feel overconfident about my code, this man humbles me down

  • @user-si9jy3zs1j

    @user-si9jy3zs1j

    3 жыл бұрын

    lmao this message is perfect with that pfp

  • @sanjayshorey4225

    @sanjayshorey4225

    3 жыл бұрын

    I was feeling like a software engineer after printing sum of two digits. I came to this channel to get humble. We are bros.

  • @Danidev
    @Danidev3 жыл бұрын

    Great video Cherno!

  • @ganes1612

    @ganes1612

    3 жыл бұрын

    Hello, Dani!

  • @rashmigoyal2629

    @rashmigoyal2629

    3 жыл бұрын

    Is He Still Alive ?

  • @rashmigoyal2629

    @rashmigoyal2629

    3 жыл бұрын

    I Thought He Was Dead

  • @siddharthasarmah9266

    @siddharthasarmah9266

    3 жыл бұрын

    Was playing MUCK, why don't you make the game a bit easier?

  • @rashmigoyal2629

    @rashmigoyal2629

    3 жыл бұрын

    Why Don't You Try And Make A Game Without An Engine(Or You Can't Do That) :)

  • @agsamani5701
    @agsamani57013 жыл бұрын

    10:17 OMG A freaking RENDERING COURSE. Can't wait

  • @pat917

    @pat917

    2 жыл бұрын

    No way I missed that thsnks

  • @CodeMonkeyUnity
    @CodeMonkeyUnity3 жыл бұрын

    Wow excellent video! I never thought about the inner workings of Bloom, I learned a lot, thanks!

  • @michmich6645

    @michmich6645

    3 жыл бұрын

    Whats up checkmark

  • @R.B.

    @R.B.

    2 жыл бұрын

    @@michmich6645 verified account. Code Monkey has a lot of good Unity content.

  • @bloom._.9725

    @bloom._.9725

    2 жыл бұрын

    Yeah no problem

  • @hevlp

    @hevlp

    2 жыл бұрын

    i got ur ad in this video 👌

  • @rdxrid

    @rdxrid

    Жыл бұрын

    Wow, Unity boss is here!

  • @meanotaku
    @meanotaku3 жыл бұрын

    The ultimate channel for learning about game engine I came for learning C++ but stayed for the Engine

  • @nofeah89

    @nofeah89

    3 жыл бұрын

    Hey, I'm trying to learn but get confused with terms like texture and bump maps etc? Do you recommend any playlist from the cherno?

  • @sanjayshorey4225

    @sanjayshorey4225

    3 жыл бұрын

    Is this engine petrol or diesel variant?

  • @nathansnail

    @nathansnail

    2 жыл бұрын

    @@sanjayshorey4225 electrical engine, nvidia variant. run with electricity from shiny pikachu

  • @gregwaste2594
    @gregwaste25943 жыл бұрын

    One of the best videos you've made cherno. So comprehensive. I wish the rendering course will be full of that stuff. Keep it up.

  • @tylergoodwyn1534

    @tylergoodwyn1534

    3 жыл бұрын

    this

  • @NamePointer
    @NamePointer3 жыл бұрын

    I actually used the Bloom tutorial from learnopengl and always wondered why it looked so bad. I've always though bloom was just a very simple two-pass post-processing effect and now I finally see how wrong I was. Thank you so much for making this video!

  • @bryanlozano1741

    @bryanlozano1741

    2 жыл бұрын

    Hey! I like your videos. I guess you used that learnopengl Bloom for the sun in your gravity simulator? It would be interesting if you could try to implement this bloom effect and make a video about it :)

  • @NamePointer

    @NamePointer

    2 жыл бұрын

    @@bryanlozano1741 Hi! I'm happy to hear that! I did indeed use learnopengl for the bloom in my gravity simulator. If I ever come back to that project in the future, I will probably improve the bloom effect, but I wouldn't make a dedicated video about it (because this one exists) but it could be part of a third video in the gravity simulator series.

  • @barj
    @barj3 жыл бұрын

    This was an awesome style of video dude! I'd love to see more stuff like this :)

  • @3DevSoftware
    @3DevSoftware3 жыл бұрын

    I loved the format of this one Cherno. Very informative and a joy to watch. Thank you.

  • @alexo.o418
    @alexo.o4183 жыл бұрын

    Great video! I especially liked that you referenced the CoD presentation. However I have a small nitpick with the implementation: bloom should not be added to the scene color, as adding increases the brightness of the image. This way the bloom magically creates energy out of thin air, which is at odds with energy conservation. An alternative is to lerp the images instead, the interpolation factor can be used to control the strength of the effect. Apart from being energy conserving this has two benefits: firstly the images with and without bloom will be similar in terms of overall brightness. Secondly the thresholding can be removed, which results in a more natural effect. The latter is also mentioned in Jimenez's presentation.

  • @blacklistnr1

    @blacklistnr1

    3 жыл бұрын

    I have a small nitpick with your nitpick: Provided that the adding occurs before the tone mapping, or that tone mapping handles it correctly, no energy is created out of nothing, since tone mapping, a.k.a. crushing the range, destroys both energy and detail information such that you get something realistic/visually pleasing. Lerping will actually give you a worse visual result since it's linear whereas tone mapping can have nonlinearities which better model how light/camera behave. And lastly, a game engine's job is to fool the eye as fast as it's possible, not to run a full physics simulation which preserves all invariants. I don't think there are any physically accurate real time game engines, they all use tricks and approximations.

  • @Mempo1

    @Mempo1

    3 жыл бұрын

    @@blacklistnr1 Bloom is typically applied on top of the non-tonemapped result of the physically based lighting result so it does break the correctness of the PBR theory. Personally I'd prefer the lerp because its less of a magic number compared to having a threshold.

  • @blacklistnr1

    @blacklistnr1

    3 жыл бұрын

    @@Mempo1 "Less ... magic" :)) love the reason, perfectly valid. My point was that adding a thresholded bloom before tonemapping isn't "bad" and lerping images to preserve energy isn't always visually pleasing as it can muddy gradients, as the standard RGB color space isn't uniform to our eyes, so you need some non-linearities to make it look good. By the time you're in the "what does look good to a human?" part, physical correctness falls a bit lower in your priority list.

  • @Mempo1

    @Mempo1

    3 жыл бұрын

    @@blacklistnr1 Fair, I'm not sure which one of the two looks better in practice but if its recommended in the cod presentation it probably works well in production. should also consider which parameter is friendlier to artists

  • @blacklistnr1

    @blacklistnr1

    3 жыл бұрын

    @@Mempo1 Oh boy, I remember my first experience with the v-ray renderer. As an artist you open settings to get rid of some noise in the scene and you get 1000 algoritms, metaparameters and choices. I can only hope that artists have it better nowadays

  • @alonsorosadogarcia8082
    @alonsorosadogarcia80823 жыл бұрын

    I quite liked the effort poured into this one! The format and the explainations were really neat.

  • @GonziHere
    @GonziHere3 жыл бұрын

    I like your videos in general, but this was absolutely the best. So much information, so much research, great format. Perfection.

  • @ipotrick6686
    @ipotrick66863 жыл бұрын

    This new style of video is GREAT!

  • @dimitribobkov-rolandez5729
    @dimitribobkov-rolandez57292 жыл бұрын

    This is probably one of the better explanation of how bloom works that I've ever seen, especially with the photoshop part. Liked and subbed!

  • @santi5655
    @santi56553 жыл бұрын

    this is the kind of video i want to see. thanks cherno

  • @TheTimster02
    @TheTimster023 жыл бұрын

    This video is really great to watch, keeps things interesting while still being informative and in-depth

  • @gaureeshjr
    @gaureeshjr3 жыл бұрын

    I like this new format JK , I love this new Format

  • @lennyphoenixc
    @lennyphoenixc3 жыл бұрын

    The production quality on this one is incredible, awesome work!

  • @Gunslinger962
    @Gunslinger9623 жыл бұрын

    This new video format though 😳

  • @Futureblur
    @Futureblur3 жыл бұрын

    Wow I love this new format!

  • @revesx
    @revesx3 жыл бұрын

    1:12 overuse of the bloom effect really causes discomfort, thanks for sharing! Awesome video format, so much work, research and experience in one video.

  • @MrCarburettor
    @MrCarburettor3 жыл бұрын

    Great video!! So happy to hear that a rendering course on the way!!

  • @Test-iv4pm
    @Test-iv4pm11 ай бұрын

    Need more videos like this from you for more visual effects. This 'Bloom' video is still the undisputed greatest video on youtube, 2 years after its release.

  • @deformercr6680
    @deformercr66802 жыл бұрын

    Phenomenal video, really great deep dive into the inner working of bloom, introduced in a really intuitive way. Can't wait for your course!

  • @GameDevBits
    @GameDevBits2 жыл бұрын

    Wow, this was fascinating to dig into. Thanks so much for all the details. Learned so so much from this one.

  • @olkris2666
    @olkris26662 жыл бұрын

    THANK YOU DUDE !! I've been doing research on bloom for a few months to implement it into my drawings and make a tutorial about it. This basically confirms all of my research. However I didn't know about the downsampling technique, thank you for sharing it.

  • @gholamrezadar
    @gholamrezadar2 жыл бұрын

    Searched for a good bloom tutorial everywhere on the web, couldn't find any! and the next day youtube recommends this Amazing video! Thank you so much.

  • @Mystixor
    @Mystixor3 жыл бұрын

    We asked for a Bloom tutorial, you delivered right-away. Awesome, keep it up!

  • @guilhermesenko
    @guilhermesenko3 жыл бұрын

    I usually don't comment on videos but I think this one deserved it. Very well thought out and brilliantly presented. I hope we see more content like this in the future!

  • @ZoruaTheTrickyFox
    @ZoruaTheTrickyFox3 жыл бұрын

    I understand it might require a big effort but I'd love more videos in this format.

  • @nicolaskeller9511
    @nicolaskeller95112 жыл бұрын

    Excellent video, the step-by-step analysis of another engine where you show each texture was the best part of it all. Thx!

  • @maxximus8904
    @maxximus89042 жыл бұрын

    I generally think I have a pretty good grasp on how the 3d graphics I work with are made. Even though I'm an artist, I love to see all the technicalities behind the scenes. I learned a lot watching this, never knew it did so many passes! The bloom in unity's HDRP starts with the threshold all the way down or something strange like that because it's "physically accurate" I can imagine it just blurs dark pixels less and bright pixels more. The gears in your head really start turning after watching something like this! I would love to see more videos like these! About: lightmapping SSAO Voxelized effects like VXGI and VXAO the all-new Mesh shaders There is so much to learn and know!

  • @MecegguemMohamed
    @MecegguemMohamed3 жыл бұрын

    very good explanation of the bloom effect, thank you :)

  • @InfernoTNT
    @InfernoTNT3 жыл бұрын

    More of videos like this. The style is just right for learning.

  • @arash1934
    @arash19342 жыл бұрын

    Epic intro, epic graphics, epic ad, epic humor. This video is absolutely epic! Thank you for the effort you put into these videos cherno!

  • @simonbaxter8001
    @simonbaxter80013 жыл бұрын

    Fantastic video Jan! This video style IS definitely the way forward.

  • @Mugistan
    @Mugistan3 жыл бұрын

    I literally can't wait for the next video This looks amazing

  • @bulentgercek
    @bulentgercek2 жыл бұрын

    Man, that was unbelievable work to learn all the details. Excellent presentation. You did it again! Love you, keep it going!

  • @michaeloconnell145
    @michaeloconnell1453 жыл бұрын

    I think this is one of the best video's you've ever made! Thank you!

  • @stasdev
    @stasdev3 жыл бұрын

    👏👏👏 I like how you upgraded all the aspects of the video A more clear explanation, a little bit of humor, lots of examples and analogies Can definitely see that a lot of effort was put in these 26 minutes

  • @SiddharthMandhata
    @SiddharthMandhata3 жыл бұрын

    Hey Man!! Awwweesommmeee video!!! Hats off to you!! Last year I learnt a lot of new things about C++ from your series and subscribed to your channel after that. After that I found a bit of change of style in several videos, which was not to my taste. But this video was in the same "fun to watch" and still "providing so much new information" zone. So glad to have you back! Lots of love and appreciation! :)

  • @avram_traian
    @avram_traian3 жыл бұрын

    this might be one of the most coolest youtube videos ive ever watched! hope i'll see this type of content in the future

  • @whosnooby
    @whosnooby3 жыл бұрын

    Please make more of this!

  • @EmersonPeters
    @EmersonPeters2 жыл бұрын

    This is AWESOME! These types of videos make the world better.

  • @LittleRainGames
    @LittleRainGames2 жыл бұрын

    I knew about the down and up sampling, but the photoshop example really solidified it for me. GREAT video

  • @StevenMartinGuitar
    @StevenMartinGuitar2 жыл бұрын

    Great approach to making this video. Lots of great information explained with examples

  • @kamran_aghlami
    @kamran_aghlami3 жыл бұрын

    Fantastic material right here! I'm really digging this format. Great one Cherno!

  • @emi6aston
    @emi6aston3 жыл бұрын

    Dope Video! I was waiting for it. Thanks!

  • @LogicEu
    @LogicEu3 жыл бұрын

    Incredible video Cherno, thank you, will be waiting for that excellent sounding renderer course.

  • @sigmaroxt9631
    @sigmaroxt96313 жыл бұрын

    This new video format is so good. Keep up with the good work man!

  • @gillian6792
    @gillian67923 жыл бұрын

    that was cool and very nicely polish. I enjoy it ! Hope you enjoy making it.

  • @UnderdogDen
    @UnderdogDen2 жыл бұрын

    I love this style of videos, this is awesome!

  • @xsandre-l
    @xsandre-l3 жыл бұрын

    Omg i cant wait for the rendering course!!

  • @gouravkd8545
    @gouravkd85452 жыл бұрын

    Man, this is Fantastic!! I love the way you explain this. I just don't have words to appreciate. AMAZING!

  • @northhamptonshire
    @northhamptonshire2 жыл бұрын

    This was a really well put together video and really nice result! Good job!

  • @Test-iv4pm
    @Test-iv4pm4 ай бұрын

    I come back here every few months just to rewatch the best video on youtube :)

  • @bharatr3260
    @bharatr3260 Жыл бұрын

    Absolutely fantastic video! I am implementing my own Vulkan based game engine and thought bloom had something to do with fragment shader lighting! Didn't know it was such a complex effect...

  • @prajwalprvce
    @prajwalprvce3 жыл бұрын

    Love this new format

  • @RadicDotkey
    @RadicDotkey3 жыл бұрын

    Thank you. Very well done presentation. I've been waiting for it.

  • @HAWXLEADER
    @HAWXLEADER3 жыл бұрын

    I love this video! It's even in landscape mode!

  • @adibattie9619
    @adibattie96192 жыл бұрын

    Fantastic video! Well explained and structured. Learned a lot!

  • @falxie_
    @falxie_2 жыл бұрын

    Been seeing your stuff in my feed a few times, is the video that's made me sub

  • @AmazingMaxStuff
    @AmazingMaxStuff2 жыл бұрын

    Awesome video! Thank you so much

  • @parasharkchari
    @parasharkchari Жыл бұрын

    22:50 -- That's exactly the reason. Since you were looking at URP (previously called LWRP), it is meant to have backwards compatibility for older hardware. It's the same reason that the terrain doesn't do indirect rendering in URP. HDRP is a different story, though. It actually is targeting newer hardware. Also, some platforms like VROS didn't yet support Vulkan in 2020.x or even OpenGL ES 3.1, so compute was not supported even though the hardware itself could do it.

  • @fudgeracoon2529
    @fudgeracoon25293 жыл бұрын

    That's a neat format, keep it up!

  • @DerrickCanfield
    @DerrickCanfield3 жыл бұрын

    Excellent medium-high level view of bloom! AFAIK you are right in that Unity doesn't use compute shaders for calculating bloom to support older hardware. I'm not sure why they don't implement a compute version and switch the implementation by querying the features of the GPU. They could easily do it since the logic for bloom exists in separate source files they could just link to. I think any modern engine should be 100% compute when it comes to post effects and I'm glad to see that is the route you took.

  • @Tal__Shachar
    @Tal__Shachar3 жыл бұрын

    Incredible video. Such high quality and dedication

  • @ehrensto
    @ehrensto2 жыл бұрын

    I'm not a game developer, but I am slowly getting into video making and a bit of VFX. And knowing how computers simulate bloom helps me understand how that'd work in a program like After Effects. Thanks!!

  • @masondeross
    @masondeross2 жыл бұрын

    My conceptual understanding of what bloom actually does is much better now, thank you.

  • @mgevlich
    @mgevlich3 жыл бұрын

    Finally, someone have said it! Thank you! I tried the lessons and completely refuse the result in my project! I'll give it a try again!

  • @devdeev3675
    @devdeev36753 жыл бұрын

    Awesome video, would love to see more videos like this

  • @CYON4D
    @CYON4D2 жыл бұрын

    An excellent explanation of the bloom effect.

  • @donutdude246YT
    @donutdude246YT3 жыл бұрын

    This is so awesome!! Thank you for this!!!

  • @JakeDownsWuzHere
    @JakeDownsWuzHere2 жыл бұрын

    this is great! thanks for putting this together!

  • @GreenDave113
    @GreenDave1133 жыл бұрын

    Absolutely loved this more technical video focusing on one effect. Please do more!

  • @ViviTheEnbyWitch
    @ViviTheEnbyWitch3 жыл бұрын

    Great vid! There's one bloom effect I really like that was in Call of Duty Black Ops 1, where the bloom size is separated into X and Y axes (they stretched it out vertically quite often, one example is in the main menu), and I haven't seen it replicated in other games that often, I think it's a super neat artistic tool! Would love to replicate it for my own game.

  • @SimonBuchanNz

    @SimonBuchanNz

    3 жыл бұрын

    You might be thinking of either anamorphic bokeh, which is a depth of field effect simulating fancy film lenses, or the anamorphic lens flare JJ Abrams style, which is a camera artifact simulating misused fancy film lenses when exposed to too much light, similar to bloom.

  • @Kaldrax
    @Kaldrax3 жыл бұрын

    Really great explanation. Love it!

  • @danyapolyakoff
    @danyapolyakoff3 жыл бұрын

    Wow, I really enjoyed the video!! Great work!

  • @markhumes2645
    @markhumes26453 жыл бұрын

    Great video! Very well put together

  • @PDivision1
    @PDivision12 жыл бұрын

    Thanks man, missed these slides. Will fix bloom in my engine :)

  • @AdriansNetlis
    @AdriansNetlis2 жыл бұрын

    Amazing video! I was already aware of these bloom techniques as I did extensive dig into graphics rendering in the past, but I am sure there's a LOT of people benefiting from this right at this moment. Also a suttle note (taken from Unreal Engine) - the most realistic approach to this is using a threshold value of 0.0. The threshold is something you use for artistic control, but in case pure realism is what you're looking for, a threshold of 0.0 is the way to go. Oh, and at 18:21 blending using mix is the more nautral looking and realistic approach where you use a very, very small mix coefficient for the bloom texture. Edit. The reason why that approach is more realistic is because it effectively ensures energy conservation.

  • @vaanidel2117

    @vaanidel2117

    2 жыл бұрын

    How small of a mix coefficient would you say is proper? Like, numbers? I'm playing around with it in my engine as well with my bloom, so I'm curious what you think

  • @AdriansNetlis

    @AdriansNetlis

    2 жыл бұрын

    @@vaanidel2117 Very much depends on the style you're going for (clean lens or not, surrounding air humidity etc.). Also, you may want yo mix in a bit extra to fake atmospheric scatter if you do not have volumetric lighting calculations preset, while having lower value if you do. But generally around 0.00005-0.0002 is what I would go for.

  • @vaanidel2117

    @vaanidel2117

    2 жыл бұрын

    @@AdriansNetlis Alright, thanks! I'll play around with my settings, then

  • @blaxxun75
    @blaxxun753 жыл бұрын

    Very Interesting Insight. Thank you

  • @angela_jx
    @angela_jx3 жыл бұрын

    This was fantastic thank you

  • @scott3489
    @scott34893 жыл бұрын

    This is really an excellent video!

  • @mneher97
    @mneher973 жыл бұрын

    Love the format! More like a video essay. Though I suppose it takes a lot more time to make than your typical style vids...

  • @sanjayshorey4225
    @sanjayshorey42253 жыл бұрын

    Thank you for this great information.

  • @JonathanMacher
    @JonathanMacher2 жыл бұрын

    I would recommend the "screen" blending mode. I like the way it overlays the bloom better, and you don't need so many blur passes

  • @CaptainJeoy
    @CaptainJeoy3 жыл бұрын

    This is a really great video! My goodness, I really love the world of computer graphics! It can just be really frustrating some time, y'know as many things are not very well documented.

  • @Test-iv4pm
    @Test-iv4pm2 жыл бұрын

    This is a great video, thank you for making it

  • @tim_arterbury
    @tim_arterbury3 жыл бұрын

    Awesome explanation!! Thanks!

  • @Pspet
    @Pspet3 жыл бұрын

    Best format yet

  • @brightbluesmurf
    @brightbluesmurf2 жыл бұрын

    Very nice explanation thank you

  • @mateuszbahyrycz7003
    @mateuszbahyrycz70033 жыл бұрын

    Great video, waiting for more

  • @michelepa87
    @michelepa872 жыл бұрын

    There are many reasons why screen pass effects are still done in PS rather than CS. If nothing specific to compute is being used (sharedgroup mem or async), PS is mostly faster than CS, at least in my experience working with GCN arch. One of the main reason is that PS writes through ROPs (which has an orthogonal cache to L1/L2) while CS writes through cached memory, so the CS execution is way more sensible to cache coherency.

  • @jcm2606

    @jcm2606

    2 жыл бұрын

    Yep, but there are ways to improve cache coherency in compute through "thread group swizzling" or "lane remapping" (NVIDIA calls it thread group swizzling, AMD calls it lane remapping, both are basically the same thing done in different ways), which basically alters your sampling coordinates for looking up textures to improve cache throughput by making texture accesses more spatially coherent. There's a few different ways of doing it, you could just use tiles (NVIDIA's thread group ID swizzling blog post uses tiles), you could use a Morton-Z curve, or you could use a Hilberts curve, but ultimately they all do the same thing. In fact, it seems like at least NVIDIA is investigating this lately on Ampere (probably Turing and Pascal, too), as I've noticed that some workloads where PS would outperform CS have actually switched to having CS outperform PS, and the only thing I can think of is the driver's making this same optimisation.

  • @martonkos5775
    @martonkos57753 жыл бұрын

    The quality of this video is amazing.

  • @creativity5155
    @creativity51553 жыл бұрын

    This video is bloody magnificent.

  • @kye2920
    @kye29203 жыл бұрын

    really cool video! thanks!

  • @m5rian
    @m5rian2 жыл бұрын

    very interesting video! good explanation

  • @newbiex11
    @newbiex113 жыл бұрын

    I liked this new format, it's easy for my to understand