How Games Fake Water

Sdílet
Vložit
  • čas přidán 23. 07. 2023
  • Get a free 30 day trial and 20% off an annual plan at
    brilliant.org/acerola ! #ad
    Many Acerola viewers ask the question: How do games render water? Well, real time water rendering might sound intimidating, but it turns out most video games (Final Fantasy XVI, Elden Ring, Genshin Impact, etc.) use a relatively simple technique. How convenient!
    Topics covered include: Intuitive sine waves, the sum of sines, vertex shaders, fragment shaders, central difference normals, calculating normals with partial derivatives, lambert's cosine law (lambertian diffuse), blinn phong specular, why gerstner waves are cringe, euler waves, fractional brownian motion, fresnel reflectance, cubemaps
    Support me on Patreon!
    / acerola_t
    Socials:
    Twitter: / acerola_t
    Twitch: / acerola_t
    Discord: / discord
    Code: github.com/GarrettGunnell/Water
    References:
    developer.nvidia.com/gpugems/...
    iquilezles.org/articles/fbm/
    www.shadertoy.com/view/MdXyzX
    filmicworlds.com/blog/everythi...
    Music:
    Afternoon Break - Persona 3 OST
    Iwatodai Dorm - Persona 3 OST
    In A Moment's Time - Skullgirls OST
    A New Frontier - VA-11 Hall-A OST
    Midori Eyes - Paradise Killer OST
    GO!GO!STYLE - Paradise Killer OST
    Prof. Omochao - Sonic Adventure 2 OST
    During The Test - Persona 3 OST
    Junes Theme - Persona 4 OST
    Underground Club - VA-11 Hall-A OST
    Karmotrine Dream - VA-11 Hall-A OST
    Neon District - VA-11 Hall-A OST
    Moonlit Melee - Skullgirls OST
    Your Love Is A Drug - VA-11 Hall-A OST
    Thanks for watching!
    arrow in thumbnail drawn by thlurp
    This video is dedicated to my friend, Alotryx.
    #acerola #graphics #gamedev #unity3d #graphics #shaders
  • Věda a technologie

Komentáře • 835

  • @Acerola_t
    @Acerola_t  Před 10 měsíci +94

    Get a free 30 day trial and 20% off an annual plan at brilliant.org/acerola #ad
    Hope you like the video!!

  • @LighthoofDryden
    @LighthoofDryden Před 10 měsíci +897

    BABE WAKE UP-

    • @UliTroyo
      @UliTroyo Před 10 měsíci +37

      Poor babe. Who can catch a nap in this house?

    • @noobissk3001
      @noobissk3001 Před 10 měsíci +10

      It's a new acerola video!!

    • @naiknaik8812
      @naiknaik8812 Před 10 měsíci +47

      babe, babe please why aren't you waking up

    • @user-kx8pu6ys5i
      @user-kx8pu6ys5i Před 10 měsíci +20

      It was 3 years ago, ​@@naiknaik8812 it wasn't your fault...

    • @partlyblue
      @partlyblue Před 10 měsíci +5

      ​@@user-kx8pu6ys5iLook at me, son. It's not your fault.

  • @rafaelbordoni516
    @rafaelbordoni516 Před 10 měsíci +976

    16:32 once I was trying to make the surface ripples of water running in a direction like a stream, and one of my attempts had small ripples that were just moving along the surface without any disturbance and I thought it was unrealistic and added some noise to it, then I saw water running down the street in the rain and it had super static unchanging ripples running along the surface, I felt really stupid

    • @Litl_Skitl
      @Litl_Skitl Před 10 měsíci +28

      Laminar flow babyyyyyy

    • @Solutra
      @Solutra Před 10 měsíci +70

      @@Litl_Skitl that isn't what laminar flow is but ok

    • @simonfrancis110
      @simonfrancis110 Před 10 měsíci +2

      @@Solutrait is

    • @Solutra
      @Solutra Před 10 měsíci +33

      @@simonfrancis110 captain dissolution has done an entire video on laminar flow, watch that before you say anything else

    • @Litl_Skitl
      @Litl_Skitl Před 10 měsíci +13

      @@Solutra Sorry I thought you meant ripples that stayed perfectly in place. I need to read more carefully...

  • @bloom945
    @bloom945 Před 10 měsíci +425

    this isnt just how to make water, this is a crash course in graphics programming

  • @gustavosantos106
    @gustavosantos106 Před 10 měsíci +345

    I've worked as a fisherman for a decade. A lot of that time was spent watching the sea and thinking 'there must be a logarithmic mixture to reproduce this effect'. Here comes Acerola to crown himself again.

  • @justinblin
    @justinblin Před 10 měsíci +417

    The man himself has come to bring us another well explained video about complex topics I will forget as soon as I try to do it myself

  • @machaoverlord5925
    @machaoverlord5925 Před 10 měsíci +76

    basically becoming game dev also means becoming mathematician for that juicy wet water

    • @joaoguerreiro9403
      @joaoguerreiro9403 Před 9 měsíci +4

      I would say a computer scientist hahaha

    • @machaoverlord5925
      @machaoverlord5925 Před 9 měsíci +3

      @@joaoguerreiro9403 i mean you gotta sacrifice one or two braincells to fry to create this magnificent juicy water. Not as Avatar 2 level of water but convincing splashy water.

    • @machaoverlord5925
      @machaoverlord5925 Před 9 měsíci

      @@eveningcommenter6312 i would love that on vr

  • @neonfoxgamer-9738
    @neonfoxgamer-9738 Před 10 měsíci +127

    I swear to god
    staring at a thing in reality, questioning whether or not I would consider it realistic if it was presented in a video game is too relatable
    you explained a few concepts in this video that I took like, 2 years to figure out on my own, damn you! (but thanks for sharing it for others)
    now I can finally point people to a specific good video when they ask for shader knowledge

    • @nuvuv1
      @nuvuv1 Před 10 měsíci +5

      i literally do this all the time lol. when he mentioned it in the video, i let out a sigh of relief that im not the only one who does this 😅

  • @idrios
    @idrios Před 10 měsíci +87

    On shadertoy there's a shader called "Seascape". Even with the source code right in front of me, I've never been able to understand it. This was a phenomenal explanation and I feel like I actually understand it now.

  • @MidnighterClub
    @MidnighterClub Před 10 měsíci +53

    GPU Gems that are explained simply could be a whole series. You should do more of these.

  • @GRAVENAP
    @GRAVENAP Před 10 měsíci +187

    Nobody does it like you. Explained well, entertaining, thorough, explained performance pitfalls and how to solve them, etc. Your work is a goldmine. Thank you!

  • @seedmole
    @seedmole Před 10 měsíci +29

    I spent all day making structs do what I want them to do in my midi sequencer. This is what I needed to unwind.
    Hell yeah, that was some comfy overlap between audio and graphics. So many topics that are extremely familiar to someone who has spent more time with synthesizers than with code. Ultimately it all comes back to the Fourier transform when doing things involving sums of sines. Also one thing used in audio design to reduce noticeable beating (i.e. the audio analogy of tiling) is to vary each oscillator independently as a function of time. Plenty of ways to solve that issue but that's the one that immediately comes to mind for me.

    • @Acerola_t
      @Acerola_t  Před 10 měsíci +10

      it's all waves all the way down!
      (also that sounds like a good idea)

  • @uwunora
    @uwunora Před 10 měsíci +3

    thank GOD someone finally spoke up against screenspaced reflections

  • @DarkSwordsman
    @DarkSwordsman Před 10 měsíci +63

    I am constantly amazed at your ability to make complex topics easy to understand and fun to watch. As an aspiring game dev and current 3D artist, thank you.

  • @pyrus2814
    @pyrus2814 Před 10 měsíci +16

    Watching this at 0.25x speed to offset the goober who watched at 2x speed. Gotta internalize every detail.

  • @crancpiti
    @crancpiti Před 10 měsíci +32

    I'm looking forward to the next video. The waves in Sea of Thieves look so impressive, they even have physics!

  • @merlang7
    @merlang7 Před 10 měsíci +11

    water is one of my favorite topics when it comes to computer graphics because there's so many ways to go about implementing it. my personal favorite video game water is Mario Galaxy, because it feels really stylized and unique, without resorting to solid colors and repetitive textures like a lot of other examples for stylized water. The toxic waste in Portal 2 also looks really nice, despite basically being brown sludge.

  • @borgking620
    @borgking620 Před 10 měsíci +5

    Awesome video, I learned a lot!
    Still two minor corrections/annotations:
    1) frequency is not 2/wavelength, but 1/wavelength. Probably that mistake somehow slipped in with the graph at 1:46. You can see there that you are not showing sin(x) but sin(PI*x). The natural wavelength of a sinewave is 2*PI, also known as a radian. Basically this is an angle-measurement that is based upon the arclength (= traversing the surface) of a circle with the radius of one.
    2) the Blinn-Phong model is NOT in any way the basis for PBR. Blinn-Phong is an approximation on the basis on artistic criteria, calculated purely for verisimilitude, not realism. PBR models on the other hand approach the calculations on the basis of physical values. For example a light in Blinn-Phong can be brighter going out than it goes in since it is added once in the diffuse and a second time in the specular breaking energy conservation. A PBR model on the other hand only distributes the total amount of light into reflection and absorbtion, so it can never be brighter than it goes in.
    Oh and I didn't expect you to be this young, with the quality of your videos and complexity of the topics discussed I expected you to be an industry veteran for at least a few years!

    • @Acerola_t
      @Acerola_t  Před 10 měsíci

      1) gpu gems is wrong then idk
      2) I added an annotation saying blinn phong is no longer considered pbr by today's standards

  • @LiveWire937
    @LiveWire937 Před 10 měsíci +8

    Acerola, you're a lifesaver. You just saved the surfing mechanic I was thinking about scrapping because until now my waves looked like an unyielding herd of gelatinous migratory hillocks. still gotta work out a more performant way to make the big waves that crash and go tubular etc., but at least now it feels like I'm on the ocean, and not lost in some sort of undulating mound dimension.

    • @Acerola_t
      @Acerola_t  Před 10 měsíci +8

      this method I still think looks yucky for bigger waves, it looks really nice for slower water/stillwater distortion on reflections.
      Next vid will go over the logic behind the nice realistic big waves though!

  • @skoovee
    @skoovee Před 9 měsíci +2

    “wow frass nal!” was far more funny than it should have been

  • @nk361
    @nk361 Před 10 měsíci +14

    Yes! I have been hoping for a good detailed video about FFT and iFFT realistic water. I would still like one on that spooky partial differential equation one too, but I know that it's got hands

  • @a52productions
    @a52productions Před 7 měsíci +5

    I'm a physics student going into grad school, and I'm planning on working on real time fluid simulations! It's fascinating seeing it from a nonphysical, more approximate perspective. Of course Fourier series would make their appearance!
    The domain warping aspect is very fascinating! I would never have thought of that, but it works perfectly. It also seems to naturally result in the low regions being flat and low detail, and the high regions being spiky and high detail. That's so cool!
    It's also fascinating learning about all this optics stuff. That's the one bit of physics I never got. I suppose if I want to work on games (a hobby of mine) I'll have to learn it some day...

  • @jbritain
    @jbritain Před 10 měsíci +29

    You and Sebastian Lague have made me realise I want to be a graphics programmer, and I thank you for that.

    • @raiton99
      @raiton99 Před 10 měsíci +1

      THIS!
      This field is so interesting!

    • @Toesty5
      @Toesty5 Před 10 měsíci +1

      Good luck!! You can do it!

    • @SpringySpring04
      @SpringySpring04 Před 10 měsíci +4

      Acerola and Sebastian Lague collab when?!
      I also really like Sebastian's work. I remember obsessing over ant simulations about 2 years ago when I saw his ant/slime simulation videos! lol

  • @volkoivan
    @volkoivan Před 10 měsíci +3

    It's such a pleasure to watch an ugly looking plane of sine waves slowly but surely becoming a masterpiece

  • @ZTimeGamingYT
    @ZTimeGamingYT Před 10 měsíci +41

    Trigonometry and fluidity are two topics I would have never have guessed would apply in graphics together. Now, it makes sense!

  • @TeslaPixel
    @TeslaPixel Před 10 měsíci +46

    I really hope you get around to the more advanced wave methods. The result at the end of this video looks great but sea of thieves' waves are something else.

    • @sumdude5172
      @sumdude5172 Před 10 měsíci +15

      sea of thieves waves take up half the screen 80% of the time. You bet your ass they have teams of dedicated, nda-locked programmers and artists, who are as smart and hard-working as, if not more than, a single sleep-deprived youtuber, focused solely on the water.

    • @TeslaPixel
      @TeslaPixel Před 10 měsíci +14

      @@sumdude5172 And this prevents a high level exploration of some of the methods how?

    • @Acerola_t
      @Acerola_t  Před 10 měsíci +32

      give me 2 weeks idk

    • @someloser7991
      @someloser7991 Před 10 měsíci +5

      @@Acerola_t 2 months it is, got it 👍

    • @0osk
      @0osk Před 10 měsíci +7

      @@sumdude5172 They did a siggraph talk in 2018 going over it. The talk was called "The Technical Art of Sea of Thieves," it's on youtube. I'm not a developer so maybe they left out some important details, but it seems pretty complete from what I can tell.

  • @real_vardan
    @real_vardan Před 10 měsíci +4

    You explain those topics better than my professor, it's hard for me to understand certain equations without having an intuitive grasp about it. Your visualization really helps!

  • @funx24X7
    @funx24X7 Před 10 měsíci +2

    Totally agree about screen space reflections, they're like ants: once you notice them you see them everywhere and it totally ruins immersion.

  • @RayDimn
    @RayDimn Před 10 měsíci +8

    I started my college degree of computer science in the beginning of this year, and even though my primary objective is not to become a graphics designer and also because i am still a noob when it comes to programing and everything, your videos still are always really amazing, informative and fun to watch.
    Ngl, you are even better to explain somethings than my teachers are lol, hope you grow even more here on CZcams you deserve it

    • @Acerola_t
      @Acerola_t  Před 10 měsíci +6

      Have fun!
      also graphics designers make logos not video game graphics, important distinction!

    • @RayDimn
      @RayDimn Před 10 měsíci

      @@Acerola_t noted 👍🏻

  • @chakra6666
    @chakra6666 Před 10 měsíci +3

    It's cool to see a breakdown of how stuff usually works, but it's much rarer to see any content explaining 'better' options. Excited for the next video :)

  • @gamingtoday1418
    @gamingtoday1418 Před 10 měsíci +3

    19:20 I cant believe Acerola forgot to mention the 4th forbidden reflection technique of just using a 2nd camera to render the reflections

    • @Acerola_t
      @Acerola_t  Před 10 měsíci

      basically the cubemap approach

  • @LukeFlavel
    @LukeFlavel Před 10 měsíci +2

    Ever since I started watching your videos, I've been looking at real objects and thinking about the way it could be modelled digitally. Water has been the primary object of my attention, so I was ecstatic to see an Acerola water shader video! Thank you so much and I'm looking forward to more water shading stuff in the future :D

  • @torphedo6286
    @torphedo6286 Před 10 měsíci +9

    Nice video! This helped a lot in my understanding of lighting, other explanations I saw were really dry and didn't explain the math very well.
    You should also cover distortion textures! By abusing distortion and multiple scrolling textures, you can make most visible tiling go away. There's a great video by a channel named Jasper about how they used this for water in Mario Galaxy 2.

  • @0xC272
    @0xC272 Před 10 měsíci +2

    Love the videos, mad props. One thing I do wish though is that we didn't get a 101 to graphics programming (what a normal is, what diffuse/specular are) in each video. Perhaps just refer people back to an earlier one?
    I know it's a difficult balance to strike to adjust it correctly for the target audience. Keep up the awesome videos!

    • @Acerola_t
      @Acerola_t  Před 10 měsíci +1

      I'd rather each of my vids be a complete package

  • @dmnkb
    @dmnkb Před 10 měsíci

    I really appreciate the quality of content that you produce! I can't remember having ever had such good, yet fun explanation on any topic!

  • @tymon7054
    @tymon7054 Před 7 měsíci +2

    21:26 I'm sorry to say this, but with this rendering time you brought up a great Polish meme

  • @Kaboom1212Gaming
    @Kaboom1212Gaming Před 10 měsíci +2

    Something to mention with Sea of Thieves, you actually can see the repetition in the water from high viewing angles i.e. climbing a mountain. It is just very expertly hidden behind all of their other fancy work.

    • @Acerola_t
      @Acerola_t  Před 10 měsíci +1

      yeah this is cause the fft approach is too expensive to compute in the shader so it's instead computed into a texture that tiles, otherwise there wouldn't be repetition.

    • @Kaboom1212Gaming
      @Kaboom1212Gaming Před 10 měsíci

      ​@@Acerola_t That makes a fair amount of sense. It's still something I'm really interested in learning as well. Most of my stuff is done using textures too to be fair, though lately I've been baking heightmap and other data out of Houdini water sims to get an actual simulation as the baseline and then work with everything outside of that.
      Have you also seen their big talk about their cloud rendering system? It's quite an approach they use, they gave a whole breakdown at GDC 2019 called Sea of Thieves: Tech Art and Shader Development.
      I think it might be worth looking at as an approach as well for your other videos coming up, since you mentioned you were getting into cloud rendering as a subject soon too (iirc in your CS2 smoke grenade video)

  • @Dominik-K
    @Dominik-K Před 10 měsíci +1

    Love the video, great topic. Would love to see more water and PBR rendering topics

  • @sousoulefou
    @sousoulefou Před 10 měsíci +1

    Always interesting. Love the editing, as always 😂
    Keep it up!

  • @bastian3461
    @bastian3461 Před 10 měsíci +7

    would love to see that more complicated wave motion 🕵

  • @Nuttygamer27
    @Nuttygamer27 Před 10 měsíci

    your honestly one of the game dev people that I like to watch I find it more better of someone explaining me how it's done than someone just tell me how to make it and just coping the code without no knowledge of how it's done, and you're more entertaining to watch than a 2 hour video of someone explaining it like you video are more faster but not to fast to were I don't understand and can't follow along

  • @syaoranli7869
    @syaoranli7869 Před 10 měsíci +1

    I have been waiting for this video to come out! YEEEESSSSSS Thank you!!!!

  • @px64
    @px64 Před 5 měsíci +1

    Very well explained and I learned a lot. I think its okay to not show something on screen for every noun and verb. Sometimes it felt excessive.

  • @voon7820
    @voon7820 Před 10 měsíci

    Wow, expertly breakdown the details to the most basic component. Great video!

  • @Ithenos
    @Ithenos Před 10 měsíci +1

    Just wanted to say that I adore your videos. They're wonderful.

  • @bobozeehax
    @bobozeehax Před 10 měsíci

    Heyy thanks for another informative video! You rock, Acerola! :)

  • @DeanEdis
    @DeanEdis Před 10 měsíci

    One of the best explanations I’ve ever seen. Thanks!

  • @nicj_art
    @nicj_art Před 10 měsíci

    IM SO HAPPY you have so many monogatari figures. bro thats my favorite anime of all time. bro just HAD to show them all off

  • @DarkSwordsman
    @DarkSwordsman Před 10 měsíci +1

    20:13 LITERALLY ME AFTER I LEARNED ABOUT HOW POWERFUL FRESNEL IS

  • @stradius
    @stradius Před 10 měsíci

    Having watched a lot of your videos back to back, it's pretty apparent how good you've gotten with pacing and delivering just enough information to explain concepts without getting lost in the details. Awesome work as always, looking forward to the next one!
    You did raise a good question that I've never seen a satisfying answer for: why DO games include a bunch of post-processing effects that a lot of people always turn off? Are those people in the minority? Are the effects often just not done well? Is it mostly for consoles/lower-end hardware where lower framerates need more fancy effects to compensate?

    • @Acerola_t
      @Acerola_t  Před 10 měsíci

      gamers only notice when they look bad and don't have the knowledge to identify the effect when it looks good

  • @xadxtya
    @xadxtya Před 10 měsíci

    I really like how you explain things, thank you

  • @bytezero3818
    @bytezero3818 Před 10 měsíci +1

    Holy shit, the amount of information is incredible, also i love how you actually manage to keep my adhs-ruined attention span

  • @alan_5127
    @alan_5127 Před 10 měsíci

    Its always a great day when i see you upload! great vid as always

  • @MrMolian
    @MrMolian Před 10 měsíci

    You got yourself a new suscriber ! Everything was clear and explained in a fun way, keep going 😁

  • @coorie
    @coorie Před 10 měsíci

    Great video! Excited for more water stuff next time.

  • @PhilSamoylov
    @PhilSamoylov Před 10 měsíci

    Trove of invaluable tricks as always! Thanks!

  • @thejinxedartist
    @thejinxedartist Před 10 měsíci +1

    I do like this implementation of water, it looks quite natural and great at the same time, the approach I generally go for is just to take two noise textures and use procedural sampling so that it doesn't tile but I might start using a similar approach to this in the future. also i got a bit confused because I completely forgot about the water community post and was looking on your GitHub post processing effects for different tonemappers and saw the lens flares so yea lmao, still a great video and very informative

    • @Acerola_t
      @Acerola_t  Před 10 měsíci +1

      I tried to implement a decent lens flare for the video but it kinda just looked like shit so I cut it

    • @thejinxedartist
      @thejinxedartist Před 10 měsíci

      @@Acerola_t yea i was a bit confused lmao, i thought it might have been like an early version or something, still a cool idea though

  • @BakeBakePi
    @BakeBakePi Před 10 měsíci

    That's so interesting! Great explanation!

  • @VetNovice
    @VetNovice Před 10 měsíci +5

    Nice haircut, just as fresh as your water. Those specular highlights.

  • @VesselEngineer
    @VesselEngineer Před 9 měsíci

    That video made my life way easier, thanks mate!

  • @RoySATX
    @RoySATX Před 9 měsíci +1

    Dude, I'd be lying if I said I learned or comprehended much of what you just did, I'll be sixty next year and my short-term memory is, what was I saying? What I can say truthfully is I was able to follow along with you the whole video, you didn't lose me, my eyes didn't glaze over, and my mind didn't drift off. That's good, you have a knack for this! I wish you had been around when I was in high school, I'd have learned a lot more math and enjoyed math a lot more instead of dreading it out of fear I'd become a CPA..

  • @doce3609
    @doce3609 Před 10 měsíci

    It is always nice when a new Acreola Video rolls out

  • @hungryporpoise5940
    @hungryporpoise5940 Před 10 měsíci

    Holy moly it’s another acerola video it truly is a wonderful day

  • @DurmanHimself
    @DurmanHimself Před 10 měsíci

    Love your videos. Hope you get to 100k soon.

  • @amaryllis0
    @amaryllis0 Před 10 měsíci +1

    Really cool video! Only time I've done a realistic water shader is following Sebastian Lague's planet projects, using wave patterned normal maps

  • @mrbonono2951
    @mrbonono2951 Před 9 měsíci

    A video on fast Fourier transform would be awesome. Thanks for another amazing video acerola!

  • @blackedoutk
    @blackedoutk Před 10 měsíci

    Man, wish I could make videos this entertaining. Is it just a special gift you have? Really cool

  • @leonstansfield
    @leonstansfield Před 10 měsíci +4

    New favourite acerola video. One day I will be epic like you!

  • @lunaumbra5179
    @lunaumbra5179 Před 10 měsíci +1

    As a UI programmer your videos have helped me understand more about graphics than any other. Well done chap

  • @vicentetarabelli
    @vicentetarabelli Před 10 měsíci

    This is just what I needed for my RTS, only don't need the render, just the waves. It's an aether map, some gameplay stuff, so I'll need to figure out how to get back the data to the cpu eventually. Thank you very mucho!!

  • @choudclucker
    @choudclucker Před 10 měsíci +1

    I’ve worked with gerstner waves quite a bit and I’ve only ever noticed issues with waves curling in on themselves if you add a wave to the mix with parameters higher than the one that came before it.
    I’d be interested in seeing you talk more about gerstner waves or explain a bit more why you don’t like them!

    • @Acerola_t
      @Acerola_t  Před 10 měsíci

      tbh the real reason I dont like them is it heavily complicates the partial derivatives due to the horizontal displacement and I found that the e^sin(x) waves looked great anyways for less effort (mentally and computationally)

    • @choudclucker
      @choudclucker Před 10 měsíci

      @@Acerola_t I can agree with that. They certainly add way more complexity than needed for some water use cases. I already find derivatives annoying and adding the non linear, multi dimensional nature of gerstner waves to the equation is a bit much lol
      Much love can’t wait to see what you upload next!

  • @jm-alan
    @jm-alan Před 10 měsíci

    The replay stats on various parts of this video are gonna go crazy and I love it

  • @sujalgvs987
    @sujalgvs987 Před 10 měsíci

    I've been learning opengl recently and i wrote my own code for a wave, but it was just one sine wave, and the vertices were...cubes. And i was computing the position in the cpu. Never thought i should do it in the gpu, that's brilliant. Thanks aceroler

  • @Agent9
    @Agent9 Před 9 měsíci

    After the opening of this video and seeing all the monogatari figures, I can finally understand why your title screens always remind me of that show! It was inspired by it!

  • @samuelazeredoo
    @samuelazeredoo Před 9 měsíci

    I finally found a use for all the knowledge obtained from calculus classes: being able to understand Acerola's videos

  • @KoshakiDev
    @KoshakiDev Před 10 měsíci

    Phenomenal video, Acerola!

  • @icesentry
    @icesentry Před 10 měsíci +5

    Are you planning on covering refractions and depth effect in a future video? It would be really nice followup

    • @Acerola_t
      @Acerola_t  Před 10 měsíci +8

      in an ideal world i will inevitably cover every topic ever but whether that's within your preferred range of time is another thing

    • @icesentry
      @icesentry Před 10 měsíci

      @@Acerola_t lol, yeah that's fair. Depth based stuff is pretty easy, but refraction would definitely take a while.

  • @EdenNeedsAYoutubeHandle
    @EdenNeedsAYoutubeHandle Před 8 měsíci +1

    Acerola: [explaining concepts beyond my pea-brained comprehension]
    me: yooooo he's saying those words Sho Minamimoto says all the time!

  • @cupofdirtfordinner
    @cupofdirtfordinner Před 10 měsíci +1

    great stuff, aced roller 👍

  • @BluesM18A1
    @BluesM18A1 Před 6 měsíci

    the physics of how objects interact with the water and disrupt the usual wave patterns is something I always wanted to learn.
    Any modern game with seafaring in it would feel incomplete without it

  • @itscarli3411
    @itscarli3411 Před 10 měsíci

    i love your editing so much you dont understand

  • @gfhfhgfhfgh1562
    @gfhfhgfhfgh1562 Před 10 měsíci

    I don't understand the fancy letters and maths but it's close enough to a monogatari episode for me to watch

  • @rafaeltota
    @rafaeltota Před 10 měsíci

    Every other Ace video I go like that "Oh" gif, starring Chi McBride
    No better way to convey how this feller here makes me understand stuff that hadn't really sunk in

  • @therealyojames
    @therealyojames Před 8 měsíci

    Bro these videos are amazing where have you been in my yt feed all this time

  • @ibotje1
    @ibotje1 Před 10 měsíci +2

    I really hope you'll teach us a little bit about the system sea of thieves uses. since i'm very curious to find out how they achieved such good looking water. And you have a great way of explaining these concepts and formulas, as well as visualizing every step to make it easy to follow for people who lack Graphics programming skills.

  • @crckrbrrs
    @crckrbrrs Před 10 měsíci

    first off. amazing video as always, goes without saying since your quality is literally unmatched not only in the graphics rendering space but across youtube as a whole
    secondly, your hair looks great

  • @JessWLStuart
    @JessWLStuart Před 9 měsíci +1

    Only problem with the sound addition at 21:09 is of surf sounds. When on the ocean, you don't hear waves doing anything but hitting the side of your boat sometimes. Being on a beach sounds like the surf, but being a mile out to sea sounds a lot more quite since there is almost no sound (from water) of waves hitting things. You do hear the wind on when out on the sea, depending on the height of things on your ship.

  • @ardyolt9788
    @ardyolt9788 Před 10 měsíci +1

    Amazing work!

  • @Povilaz
    @Povilaz Před 10 měsíci +1

    Looks awesome!

  • @adelAKAdude
    @adelAKAdude Před 10 měsíci

    Wow fresnel ... You got me there acerola ... What an enjoyable video ... Thanks a bunch

  • @DrunkenUFOPilot
    @DrunkenUFOPilot Před 6 měsíci

    Great explanation for anyone new to 3D and starting to play with shaders and procedural textures. Next, could you show how to make froth on the wave peaks?

  • @freevbucks8019
    @freevbucks8019 Před 10 měsíci

    14:00 - You also need to sample the collision points at least 3 times to get an accurate surface function for the CPU. It was honestly really simple once I got hang of it.

  • @rodslay
    @rodslay Před 10 měsíci

    Such a well made video! Keep up with the great content.

  • @akkihole_
    @akkihole_ Před 10 měsíci

    I love this channel so much

  • @lucanapora4016
    @lucanapora4016 Před 8 měsíci +1

    This dude is actually the goat! What a generous man to be spend his free time doing this for us

  • @filiformis
    @filiformis Před 10 měsíci +1

    I look forward to more videos on water.

  • @SillyOrb
    @SillyOrb Před 10 měsíci +1

    First and foremost: Beautiful results, excellent in-depth info, very entertaining and funny. Acerola continues to be one of the best graphics programming edutainment channels I know on YT. Looking forward to the follow-up video, but no pressure. We should be thankful to get these, so I am now considering signing up for Patreon, if there isn't a better (more direct) way to support these accessible, relevant and honestly simply good videos.
    On topic: A few years ago I created an ocean system for a game that was featuring a lot of water, both visually and mechanically. As pointed out, that Gerstner waves aren't that easy to control and that is a very good point and the reason I chose to not use them. If you need a lot of game design control over water, I found that simple and small look-up textures did the trick. Artists set up simple animation curves in the editor along with additional parameters (calm vs. stormy water looks very different, so you want different contributions from different frequency bands), which were then baked on start-up and evaluated in simulation steps on the CPU and GPU respectively. So, artists could shape waves to look like Gerstner or any other type of non-overlapping wave. They could also have multiple peaks at different heights etc.
    Amplitudes were controllable locally, as it was just another runtime simulation parameter, so it was easier to control the chaotic patterns when the situation demanded it. You don't want players to be frustrated, because they got unlucky with an extreme trough and couldn't reach a safe spot in time. The solution was very fast on last generation hardware and its synchronous but independent implementation meant that no data beyond basic control parameters needed to be transferred between processors. The GPU computed a height map (there was more than just waves that shaped the water) for rendering and the CPU simply computed samples on demand when queried by gameplay systems, so no height map was required (we also had orders of magnitude fewer queries than the sample count required to compute such a map).

  • @spuryaas
    @spuryaas Před 10 měsíci

    Great video! I wasn't so focused on math formulas since my university days 6-7 years ago.

  • @Dardasha_Studios
    @Dardasha_Studios Před 9 měsíci

    You are amazing!! Thanks...I m looking into game dev. but as I learn on you CZcams I only find channels tells you how to make games but not about the math of the games.

  • @saikousocial
    @saikousocial Před 10 měsíci +4

    Another classic areola banger.