How Games Fake Water

Поділитися
Вставка
  • Опубліковано 26 вер 2024
  • Get a free 30 day trial and 20% off an annual plan at
    brilliant.org/... ! #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/Gar...
    References:
    developer.nvid...
    iquilezles.org...
    www.shadertoy....
    filmicworlds.co...
    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

КОМЕНТАРІ • 851

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

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

  • @rafaelbordoni516
    @rafaelbordoni516 Рік тому +1056

    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 Рік тому +30

      Laminar flow babyyyyyy

    • @Solutra
      @Solutra Рік тому +80

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

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

      @@Solutrait is

    • @Solutra
      @Solutra Рік тому +38

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

    • @Litl_Skitl
      @Litl_Skitl Рік тому +17

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

  • @bloom945
    @bloom945 Рік тому +510

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

  • @gustavosantos106
    @gustavosantos106 Рік тому +408

    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 Рік тому +447

    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

  • @neonfoxgamer-9738
    @neonfoxgamer-9738 Рік тому +147

    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 Рік тому +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 😅

  • @LighthoofDryden
    @LighthoofDryden Рік тому +957

    BABE WAKE UP-

    • @UliTroyo
      @UliTroyo Рік тому +40

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

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

      It's a new acerola video!!

    • @naiknaik8812
      @naiknaik8812 Рік тому +52

      babe, babe please why aren't you waking up

    • @kkTeaz
      @kkTeaz Рік тому +22

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

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

      ​@@kkTeazLook at me, son. It's not your fault.

  • @machaoverlord5925
    @machaoverlord5925 Рік тому +108

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

    • @ai_outline
      @ai_outline Рік тому +6

      I would say a computer scientist hahaha

    • @machaoverlord5925
      @machaoverlord5925 Рік тому +4

      @@ai_outline 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 Рік тому +1

      @eveningcommenter6312 i would love that on vr

  • @idrios
    @idrios Рік тому +95

    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 Рік тому +66

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

  • @DarkSwordsman
    @DarkSwordsman Рік тому +64

    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.

  • @seedmole
    @seedmole Рік тому +31

    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  Рік тому +11

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

  • @GRAVENAP
    @GRAVENAP Рік тому +194

    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!

  • @crancpiti
    @crancpiti Рік тому +32

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

  • @merlang7
    @merlang7 Рік тому +14

    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.

  • @nk361
    @nk361 Рік тому +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 11 місяців тому +7

    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...

  • @pyrus2814
    @pyrus2814 Рік тому +23

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

  • @LiveWire937
    @LiveWire937 Рік тому +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  Рік тому +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!

  • @borgking620
    @borgking620 Рік тому +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  Рік тому

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

  • @torphedo6286
    @torphedo6286 Рік тому +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.

  • @RayDimn
    @RayDimn Рік тому +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 UA-cam you deserve it

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

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

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

      @@Acerola_t noted 👍🏻

  • @patyna4775
    @patyna4775 11 місяців тому +2

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

  • @ZTimeGamingYT
    @ZTimeGamingYT Рік тому +41

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

  • @volkoivan
    @volkoivan Рік тому +3

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

  • @chakra6666
    @chakra6666 Рік тому +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 :)

  • @TeslaPixel
    @TeslaPixel Рік тому +48

    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 Рік тому +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 Рік тому +15

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

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

      give me 2 weeks idk

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

      @@Acerola_t 2 months it is, got it 👍

    • @0osk
      @0osk Рік тому +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.

  • @jbritain
    @jbritain Рік тому +30

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

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

      THIS!
      This field is so interesting!

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

      Good luck!! You can do it!

    • @SpringySpring04
      @SpringySpring04 Рік тому +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

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

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

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

    Great video, just a small suggestion: when writing named functions in LaTeX (e.g. sin, cos, etc.), use "\[function name](x)" instead of just typing the name (e.g. "\sin(x)" instead of "sin(x)"). That way it won't be italized as in 14:25 (the math jumpscare), and would instead be typeset as a normal text.

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

      yeah that is the literal one latex visual in which i forgot to use the \text for it, if you look at every single other one in the vid it looks correct lol

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

      @@Acerola_t True! Sorry, didn't notice.

  • @0xC272
    @0xC272 Рік тому +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  Рік тому +1

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

  • @LukeFlavel
    @LukeFlavel Рік тому +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

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

    would love to see that more complicated wave motion 🕵

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

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

  • @Kaboom1212Gaming
    @Kaboom1212Gaming Рік тому +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  Рік тому +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 Рік тому

      ​@@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)

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

    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

  • @gamingtoday1418
    @gamingtoday1418 Рік тому +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  Рік тому

      basically the cubemap approach

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

    Im just sitting here nodding at the screen as if i have any idea of whats going on, loved the video btw

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

    9:59 shoutout the Professor

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

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

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

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

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

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

  • @RoySATX
    @RoySATX Рік тому +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..

  • @thejinxedartist
    @thejinxedartist Рік тому +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  Рік тому +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 Рік тому

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

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

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

    • @Acerola_t
      @Acerola_t  Рік тому +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 Рік тому

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

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

    Missed opportunity to call the title "Turning sine into water"

  • @choudclucker
    @choudclucker Рік тому +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  Рік тому

      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 Рік тому

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

  • @Dominik-K
    @Dominik-K Рік тому +1

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

  • @wojciechgajewski2200
    @wojciechgajewski2200 8 днів тому

    17:45 Is it just me, or does "We can create a fake sun!" sound like absolutely mental line when taken out of context?

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

    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

  • @SillyOrb
    @SillyOrb Рік тому +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).

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

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

  • @TojoSubsidiary
    @TojoSubsidiary 8 днів тому

    I absolutely love how you explain things. Would it be possible for you to create a video about other, more modern light diffuse, specular, and reflective calculations? I'd love to see them get the same breakdowns as your explanations for sines here. The CookTerrance model for example is incredibly confusing and I feel like I'm parroting it when I'm writing it rather than understanding it.

    • @Acerola_t
      @Acerola_t  7 днів тому

      yeah i did that the video is called how photorealistic and stylized graphics are the same

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

    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  Рік тому

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

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

    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

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

    "turn that poop, into wine" - L. Ron Hoyabembe

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

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

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

    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!

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

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

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

    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!

  • @1ogic948
    @1ogic948 Рік тому

    I audibly cheered at the introduction of calculus in this video.

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

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

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

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

  • @jm-alan
    @jm-alan Рік тому

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

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

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

  • @leonstansfield
    @leonstansfield Рік тому +4

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

  • @nogussy
    @nogussy Рік тому +3

    thank GOD someone finally spoke up against screenspaced reflections

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

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

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

    Looks awesome!

  • @BluesM18A1
    @BluesM18A1 10 місяців тому

    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

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

    Sea of Thieves and Assassin's Creed 4 : The Pirate One both have amaaaazing water.

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

      they both use the same technique!

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

    Just wanna point out that the background tracks are gold

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

    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!!

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

    aaah now i understand why there are normal maps and specular maps in my skyrim modding textures

  • @amaryllis0
    @amaryllis0 Рік тому +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

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

    20:14 "Wow! Frezznel!" I am fucking wheezing

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

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

  • @ibotje1
    @ibotje1 Рік тому +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.

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

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

  • @aqua-bery
    @aqua-bery 10 місяців тому

    Man what a cool vid. As you mentioned, there will be a pattern that's pretty easy to see. Even in your example, you can see the waves moving in parallel lines lol! This vid made me excited to learn about math at school

    • @Acerola_t
      @Acerola_t  10 місяців тому

      if you look at water irl you can also see the waves moving in parallel lines sometimes

  • @JessWLStuart
    @JessWLStuart Рік тому +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.

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

    16:50 thank God it isn't just me that thinks about this! :D

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

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

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

    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

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

    So I’ve been watching you for a while and I’ve always loved watching these videos despite me barely understanding anything. This was the first time I watched an acerola vid and felt like I actually understood most of it, so much so that it motivated me to download unity and learn shader coding to replicate this water effect. I actually managed to get a nice looking sum of sines with lambertian diffuse and blinn-phong specular! I’ve never touched graphics programming or even a game engine before and somehow this video single handedly dragged me past the barrier. But I’ve kinda been learning exclusively shader programming and avoiding learning Unity itself, apart from like, “Shader Lab” *shudders* Now it seems I actually have to learn Unity to make a script that automatically generate waves with decreasing amplitudes and wavelengths instead of entering those parameters manually

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

      This makes me super happy to hear! If you didn't you should definitely try reading the references in the description to sorta absorb the theory through your applied experience, that's what works best for me.
      There's also plenty of ways to extend the project by either doing what you said and trying to create a sort of automated weather system that can blend between different sums, or trying to layer multiple sums of differing scales to reduce the tiling dilemma, or experimenting with different waveforms, or improving the water shader itself by implementing a more sophisticated physically based shader or maybe trying to optimally stylize instead, or perhaps you wanna try and simulate buoyancy and float some objects in the water (it's pretty easy!). It's a super exciting space to work in!!!

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

    Seeing your video makes me question my Game Development Skills and knowledge. Nice Video can you make can you a series from basic of Game Development Mathematics to advance.
    Love your videos.

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

    I liked the fact that you chose something else than gerstner waves, which is commonly accepted for being the go-to for waves simulations, you explained why and proved that you could still have good looking water without that much complexity…

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

    Speaking of sine waves, here's a neat graphics curve you can use: `sin(t * pi) ^ 0.15`. It quickly fades in and out at the outer edges near t=0 and t=1 respectively. Although I've seen weird numeric errors where when t=1, the output is not exactly 0.

  • @tutacat
    @tutacat 19 днів тому

    * reflects a perfect blue sky.

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

    I appreciate the 物語 style intro cards

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

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

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

    Sine wave and all periodic stuff is extremely useful in a wide variety of applications, even if they are just a bit related to math. I always laugh when I see people make the classic "Another day without cosine" joke.

  • @px64
    @px64 9 місяців тому +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.

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

    I was not expecting to see Kiron/Subakeye's timelapse of Reze at 4:15. I paused the vid and pointed at the screen like I'm Leonardo DiCaprio.

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

    The algorithm seems to have picked on me talking about caustics and reccomended me "VFX Artist Explains the HARDEST Visual Effect to Make" from corridor crew. I wouldn't mind at all a third video in this series about caustics to tight the knot.

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

    Now you need to turn it to the wine.

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

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

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

    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.

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

    Just wanna say that Hard to Explain by the Strokes is one of my favorite songs ever, thank u for that reference/reminder

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

      they played it live when i saw them it was so good!

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

      @@Acerola_t That's awesome

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

    I never realized making water was so hard