I Tried Simulating The Entire Ocean

Поділитися
Вставка
  • Опубліковано 17 лис 2024

КОМЕНТАРІ • 1,4 тис.

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

    Get a free 30 day trial and 20% off an annual plan at brilliant.org/acerola #ad
    The Unity Awards nomination voting is live! It'd make me super happy if you submitted my name (if you think I am deserving).
    unity.com/awards?

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

      Wooo! My boy Acerola got. that. sponsorship. Lets gooooooo

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

      thanks, employed "_t" Acerola, you brilliant goblin

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

      is that the real Dan Salvato at 25:02?

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

      @@NotGabe001 yeah we are moots on twt

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

      @@Acerola_t done, thanks for the tutorial, I'll try to implement this myself!

  • @eefflie
    @eefflie Рік тому +7448

    99% of graphics programmers quit right before a 0.001% increase in performance

    • @nightlight0x07cc
      @nightlight0x07cc Рік тому +126

      LOL

    • @NILLANEAB
      @NILLANEAB Рік тому +183

      literally me except I quit when I get an opengl error before starting

    • @ryuined
      @ryuined Рік тому +11

      release quote

    • @stevenshea990
      @stevenshea990 Рік тому +51

      @@NILLANEAB Or with vulkan/dx12, when you get a fatal memory error before you've even initialized the gpu device object.

    • @codeninja1832
      @codeninja1832 Рік тому +16

      I use the same logic for gambling.

  • @anonelusive340
    @anonelusive340 Рік тому +2143

    It’s kind of ironic how Fourier actually invented his famous formula to predict when/how the tides of the ocean would occur and now in recent times people rediscovered that it could be used to simulate the very same thing it was meant to describe all along
    Edit: What I meant to say was that one of the very first uses of the Fourier Series was to predict tidal motion (Sir Kelvin was the one who actually did the thing alongside the mechanical integrator! It's a very cool story too! )

    • @BenGroebe
      @BenGroebe Рік тому +177

      My understanding is that Fourier created the method for solving the differential equations involved in modelling heat diffusion in metal plates? I don't think this is correct :/
      Citation: Mémoire sur la propagation de la chaleur dans les corps solides (1807)

    • @_zedsdead_
      @_zedsdead_ Рік тому +79

      I think it was Kelvin that used the formula to predict waves

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

      Well of course it could that's just basic correlation isn't it? Many mathematical formulas can work the same

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

      @@_zedsdead_ Yes, Fourier invented the Fourier series to develop an equation for how heat diffuses through a metal plate, then for a general heat equation.

    • @LouSaydus
      @LouSaydus Рік тому +11

      The Fourier transform is pretty ubiquitous in any situation dealing with waves, and a LOT of things can be broken down by describing them as waves.

  • @otheusma
    @otheusma Рік тому +4252

    I don't understand 95% of the things you say but I always find it fascinating.

    • @Brunoenribeiro
      @Brunoenribeiro Рік тому +83

      Chilling with Persona songs and hard math

    • @spookbag24
      @spookbag24 Рік тому +99

      i like your funny words magic man

    • @ThePandaAgenda
      @ThePandaAgenda Рік тому +18

      I understand maybe 75% of what he’s saying and I am still amazed by this guy’s creativity

    • @DemoniteBL
      @DemoniteBL Рік тому +46

      I don't really care about any of this, my monkey brain just clicks on random videos.

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

      @@DemoniteBL vibe

  • @CentaurionArcher
    @CentaurionArcher Рік тому +333

    FFT really is like magic. I spent like two months understanding it a few years ago and now I've completely forgotten

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

      Fr same as an electric engineering student

  • @jarred7721
    @jarred7721 Рік тому +1576

    I've gotta hand it to you. You have some of the best shader content anywhere on the internet. It's digestible, entertaining, and informative.

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

      not to mention his aesthetic
      absolutely love his video style

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

      @@stevenmathews7621_Black Scene_

    • @Kwauhn.
      @Kwauhn. Рік тому +14

      Right!? I wish I had this when I was first getting into computer graphics in highschool.

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

      The meme way of learning!

    • @piercebunge4297
      @piercebunge4297 3 місяці тому +1

      oh yes, digestible

  • @mu4784
    @mu4784 Рік тому +146

    Honestly, 2 things I very recently learned upon doing 3D are just how weak computers are compared to what I had in my mind (which was at the level of "just generate noise in real time and it will take 0.1% of CPU kek") and at the same time just how insanely optimized any game is and how many smart solutions have to be built in order to get gorgeous visuals while maintaining performance!

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

      we need organic computers NOW! xD

    • @yaman.
      @yaman. Рік тому

      donate your brains@@prismalglue

    • @NCSiebertdesign
      @NCSiebertdesign 3 місяці тому +1

      At the same time, computer game graphics had become realistic and lifelike drastically in the short time frame since the dawn of PC gaming. Only shortfall for most games are mostly physic like realistic object collision and voxel that makes objects "solid" since many game objects are just textured empty "box" or shell if that make sense? And lastly the AI or bots logic like npc that doesn't relied on developer's influences which has a long way to come yet imo.

  • @charactername263
    @charactername263 Рік тому +581

    You can apply almost the same FFT for waves for grass blowing in the wind without obvious tiling.

  • @PokiniGames
    @PokiniGames Рік тому +204

    I can not thank you enough for your contributions to the Unity shader coding scene. I have been wanting to add more water/flooded areas to my game, but have been avoiding it due to the performance impact/obvious tiling issues that existing water simulations on the marketplace have.

  • @filiformis
    @filiformis Рік тому +352

    I can't imagine how validating it must be to have your opinion backed by the Oceanographic Literature.

  • @Meoiswa
    @Meoiswa Рік тому +215

    It would be cool to have this as a live wallpaper, with the wave parameters slowly changing over time (or perhaps using weather data?) so the ocean looks somewhat different every time you get to see it.

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

      Nice wallpaper engine idea

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

      That's absolutely doable, if I ever get around to installing Unity, maybe I could modify the project to pull weather data and package it up into a Wallpaper Engine wallpaper.

    • @DeletedDevilDeletedAngel
      @DeletedDevilDeletedAngel 6 місяців тому +2

      @@YdenPL is it done?

    • @fhudufin
      @fhudufin 4 місяці тому +1

      @@YdenPL is it done?

    • @40watt53
      @40watt53 4 місяці тому

      @@YdenPL is it done?

  • @TechJolt3d
    @TechJolt3d Рік тому +195

    17:15 This image and the line "in truth, this is because our lighting model forgot how light works" Is making me laugh a lot

  • @Mrjcowman
    @Mrjcowman Рік тому +78

    Another banger from the funniest technical artist on UA-cam. You do such a great job telling a story and providing dense info in a super digestible manner.
    I am so ready for that principled BRDF video!

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

    using Jack Quaid as the onscreen representation for Richard Feynman made me laugh harder than it had any right to

    • @paninisauce6949
      @paninisauce6949 Рік тому +34

      I know who neither of these people are 👍💯‼️💯

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

      @@paninisauce6949 Richard Feynman was a physicist. Jack Quaid played him in Oppenheimer (albeit briefly) but is more known for playing Hughie in The Boys

    • @purple-flowers
      @purple-flowers Рік тому +25

      @@jbritain Richard Feynman was such a guy. I'd recommend reading his memoir where he details breaking into classified desks at Los Alamos and leaving silly notes for fun, being obsessed with the bongos, and much more.

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

      @@purple-flowers my physics teacher used to tell us stories about some of the funnier stuff he did, will look into that

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

      came to say the same. I laughed way too much from it :D

  • @fablearchitect7645
    @fablearchitect7645 Рік тому +97

    I think you should continue to use your 1660 to benchmark your projects to prevent the rebound effect on optimization caused by newer and faster hardware

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

      when i get a new pc yeah i'll keep the 1660 around hopefully

  • @ceilidhDwy
    @ceilidhDwy Рік тому +195

    Excellent video as always!
    It looks so impressive in the end and honestly working with enterprise software (that takes 45 second to load a single page of 20 customer requests) I tend to forget that computers can do this kind of magic! Your videos kinda make me motivated towards programming
    On another note, that transition to sponsor is very good

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

      Working in backend did that to you, but also I think acerola said in his pixel sorting algorithm video that a CPU, which you and I used everyday in enterprise software is Smarter Slower, but a GPU which he uses in the shader program is Stupid Faster (and yet it can still do a mind blowing approximation of an entire ocean waves in real time)

    • @yan-amar
      @yan-amar Рік тому +19

      And then you have entreprise software which is Stupid Slower.
      Really, running on the CPU is no excuse for modern software being slow.

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

      ​​@@yan-amarits probably due partly to network requests, which realistically is not something that can be solved. Many times even the server you make network requests to have to make other network/api request. But yes some software is just terrible as well

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

      Especially since on a higher-range laptop's CPU, you can run a rough equivalent of a local ChatGPT now, and still have resources for other stuff. It's crazy what our chips are capable of when programs are optimized for them.

  • @BeatCrazey
    @BeatCrazey Рік тому +37

    This video (and the previous) COMPLETELY sold me on Fourier Transforms and FFT. I'm going to Uni so I hope I'll have the opportunity to learn more about them (and maybe make an ocean a quarter as good as yours)

  • @eeee69
    @eeee69 Рік тому +122

    i just finished a class on numerical methods a few days ago and already i am getting flashbacks
    also the way you "removed" tiling at the end was really impressive

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

      it was quite clear what needed to be done to everyone who understood the topic.

    • @Good_Hot_Chocolate
      @Good_Hot_Chocolate 10 місяців тому +20

      ​@@stanleyyyyyyyyyyyGet off your high horse. There's no reason to put down other people's understanding, especially when the one in question was still learning.

    • @bellenesatan
      @bellenesatan 4 місяці тому

      ​@@stanleyyyyyyyyyyy no processor can efficiently calculate the size of the stick up your ass

  • @thespycrab8305
    @thespycrab8305 Рік тому +15

    I love how all the math I learned in my Physics studies shows up in unexpected places like real time rendering. Never thought I'd hear about the Jacobian outisde of my simulations and modeling course.

  • @filoteo
    @filoteo Рік тому +19

    It’s so cool seeing these otherwise abstract tools of vector calculus and differential equations I’ve learned about or heard about throughout college in such a creative and artistic context. Never stop!

  • @onechippyboi
    @onechippyboi Рік тому +13

    You're by far the most entertaining resource on how complex shaders and simulations work but you still maintain a very professional quality in results. There are others who make the same kind of content but you have knowledge and skills on par with AAA devs when it comes to what you do.

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

      To be fair it's cause I was a AAA dev

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

      @@Acerola_t I know, I just wanted to say that you're giving people free education on things that take years of school and industry experience. It's a real talent to make graphics optimization and math as entertaining as you do. 👍

  • @lbgstzockt8493
    @lbgstzockt8493 Рік тому +59

    Your videos became a lot easier to understand after going to college for a few semesters.

  • @Ataraxia0
    @Ataraxia0 Рік тому +9

    its insane how much better it looks while also improving the performance
    as a music producer its really interesting to me how working in the frequency domain is so much better than the time domain as when working with music you have to sample the waveform in time before you can start working in frequency, so i would have initially assumed the exact opposite. thinking about it now though, it definitely makes sense why its so powerful since any conceivable wave can be represented by a set of frequencies and phases
    i'd love to see more like this, its really interesting to see how waves can be used in graphics and not just audio

  • @polic72andDrD3ath
    @polic72andDrD3ath Рік тому +13

    this is the hardest my minor in applied math has ever had to work, and I'm not even trying to implement it myself yet...at least I actually recognized 90% of the terms you said without having to look them up! amazing video!

  • @MCLooyverse
    @MCLooyverse 10 місяців тому +1

    On the comment about the conventional math summing notation being inclusive, I usually write `sum{k = 0;

  • @kojumble
    @kojumble Рік тому +29

    i think this counts as the best follow up video of all time

  • @jeb123
    @jeb123 Рік тому +16

    FFT's are still continues to amaze me, seriously. Our life would be very different without them. Also your channel amazes me too! Your use of math with Unity is insane. There are few questions i want to ask, how did you learn all of this? At school or all by yourself? If at school what was your major?

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

      I have a bachelors in computer science but I taught myself most of this stuff

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

      @@Acerola_t Thanks for the reply! Your channel is really amazing, so much to learn.

  • @IstyManame
    @IstyManame Рік тому +11

    Your vids are genuinely great for falling asleep

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

      only a little insulting!

    • @cantbepixil
      @cantbepixil 3 місяці тому +1

      @@Acerola_t ill be honest im using it to fall asleep rn but it seems interesting enough that i might rewatch it after i wake up and pay attention

  • @giga-ratsey1420
    @giga-ratsey1420 3 місяці тому +9

    2:30
    You can’t just say, “a normal person” and then show jerma, arguably the least normal person

    • @SuperMario-64
      @SuperMario-64 3 місяці тому

      was about to post this same thing.

  • @ChaonicMew
    @ChaonicMew Рік тому +16

    Thank you for being a technical artist to all of us!
    What you're doing will enable the rest of us to make MUCH better games!

  • @Fireheart318
    @Fireheart318 3 місяці тому +1

    2:46 Thanks for putting that text there. You’d be surprised at the number of times I’ve thought I was having issues when it was really just an intentionally-blank screen

  • @E-dart
    @E-dart Рік тому +53

    Babe wake up, acerola released a new video

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

      I was looking if someone already said this, but I wasn't expecting it within *3 minutes* you're insane (in a good way)

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

      This got me good

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

      that was fast

    • @redblue5140
      @redblue5140 3 місяці тому +1

      why is bros name areola

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

    i haven't watched the video completely yet, but you caould look into single tile tessalation. It was recently proved that you can, using only one tile, create a non-recurring surface.

  • @TheBcoolGuy
    @TheBcoolGuy 3 місяці тому +208

    0:01 sorry i pe 2 much 😊

    • @Shabaz430
      @Shabaz430 3 місяці тому +24

      2 much lemanades

    • @TheBcoolGuy
      @TheBcoolGuy 3 місяці тому +13

      @@Shabaz430 im drinkes 2 mush pee

    • @spudato961
      @spudato961 3 місяці тому +13

      possibly the best comment ever made

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

      are you fkn 12?

    • @Miftahul_786
      @Miftahul_786 3 місяці тому +9

      this comment is so stupidly funny

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

    The Va-11 Hall-A music in the background was a nice touch.

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

    It’s been like ten years since I first heard about Fourier Transforms and because of you I finally know what they are ❤

  • @ufalsalman
    @ufalsalman 10 місяців тому +2

    I love you mentioned Euler's formula, because you also took the reference from Monogatari Series as your brand and Euler was mentioned in Zoku Owarimonogatari too. Cool video btw, I like it (despite I studied in food technology field lmao)

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

    Very impressive and fascinating. And it explaines why oceans in movies and games always look so fundamentally wrong. I have been sailing for my entire life and leanred how to read waves. True waves are curved from above too and have directional waves in different regions all of which you can see from pretty far away to the smallest detail.

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

    This whole wave simulation series and channel as a whole has gotten me super interested in shaders when I'd never given it much of any thought before. The way you outline all of the math behind the graphics along with the humor in your presentation just makes for great edutainment. I also super appreciate all of the sources so those who want to see the nitty-gritty math can do so!

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

    3:58 Audio software engineer here. This is a fantastic example, though practically, it's a little more difficult than that. You can certainly remove pure sine tones with this technique, but every tone that isn't just a sine tone contains possibly hundreds of harmonics, which are sine tones at integer multiples of the piano key's frequency. These are practically impossible to isolate for a single note when you have a whole bunch of notes, especially since some notes are already integer multiples of other notes, and there are usually a huge number of harmonics that are identical across different notes.
    We do use Fourier analysis quite often though, and we use it to do things that are only possible when manipulating the signal in the frequency domain. One great example of this is autotune. In the time domain, you can't change the pitch of a signal without speeding it up or slowing it down (think fast forwarding a tape or playing a record too fast - you speed it up but everything sounds high pitched as well). However, in the frequency domain, you can just take all the tones and shift them up or down individually before converting it back into a time domain signal. This allows you to change the pitch without changing the time, which allows for things like autotune.

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

    Black Flag had the first ocean in a videogame that felt believeable to me

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

    7:01 love how timed this music is to the graph

  • @xeuxixiliak8417
    @xeuxixiliak8417 Рік тому +21

    Okay, the notification Acerola: Simulating the Entire Ocean
    definitely looked to me at a glance like 'Stimulating the entire Areola'

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

    2 WEEKS?!? This shit would take me like 2 years to fucking read, understand, and implement. Wow. Amazing work. Subscription added!

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

    so much of this happens to line up with what i'm learning in my digital audio theory class

  • @Dadointdetrip
    @Dadointdetrip 10 місяців тому +1

    the forest creators really worked on the ocean. even at that time you can see many little parts of it but one small problem is it locked at some frame rate so if you have 60 fps water will look like a slide show

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

    WOW this is beautiful.

  • @0osk
    @0osk Рік тому +2

    Very cool Mr. Rola. Even if I usually don't understand the nitty gritty details, I appreciate how your videos always make it easy for someone like me to at least understand the basic idea of how these things work and the thought process behind it.

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

    Amazing video acerola! Every video I watch makes me want to learn more about shader programming!

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

    first of all, thank you for being awesome. you help break down complex subjects that i'd need a semester of college to understand otherwise and i'm endlessly grateful for that
    secondly, i'd like to request some topics! #1 a summary of common optimization techniques, or #2 mobile GPUs/APIs/mobile gfx in general

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

    25:08 I feel personally attacked by ”I have had like one hundred tabs open this whole month for this project alone”. Can relate.

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

    acerola just singlehandedly rescuing the shader economy

  • @omarhamza1492
    @omarhamza1492 4 місяці тому +4

    someone once said, "If you want to simulate every particle in the ocean, you must have a computer the size of the ocean."

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

    Idk when I discovered your channel but I've been watching for a pretty decent time.
    I think what got me hooked at first was the Persona 2 music in one of your videos. Then the Monogatari styled editing pulled me in even further. What sealed the deal was the topics you talked about. Hope you keep it up, Acerola. Frfr

  • @bankableconcept
    @bankableconcept 10 місяців тому +3

    All I want is a nice ocean to render in the background of a scene, but I failed algebra 😢

    • @Tomatillo12
      @Tomatillo12 День тому

      Failed a middle school class is crazy

    • @bankableconcept
      @bankableconcept 15 годин тому

      @Tomatillo12 Not sure which is worse. Missing the joke on purpose so that you can fulfill your pettiness quota, or actually missing the joke and feeling good because a random person you've never met failed something. Either way, I hope you find an outlet that gives you enough happiness, that you no longer feel the need to be a petty nuisance.

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

    12:45 That’s a really good way to describe a lot of things where complex functions are used to produce real results (at least for people who have heard of Plato’s Cave).

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

    I appreciate the effort you put into your videos Acerola

  • @dAni-ik1hv
    @dAni-ik1hv 3 місяці тому

    Your explanation of the Fourier Transform is super good and definetly effectively conveys the idea and purpose without getting into the (somewhat) complicated math 👍

  • @ricardo.mazeto
    @ricardo.mazeto Рік тому +8

    24:12, you could dig a little deeper on the frequencies used here. If you use prime numbers for frequencies, they will tile on a much larger square, because prime numbers have the biggest LCM (Least Common Multiple). I use this trick for procedurally generate huge tiling textures from tiny samples.

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

      the tiling is actually gated by the resolution of the textures, since all of this is being precomputed into textures that the ocean mesh then samples.
      If GPUs are ever fast enough to calculate the fft per vertex, then yeah this would be applicable knowledge, but we'll probably die first.

    • @ricardo.mazeto
      @ricardo.mazeto Рік тому +4

      @@Acerola_t No, you got it wrong. There's no need for FFT. If you sample the textures, such that for each vertex v, for each texture t, the height of the vertex, or color of the pixel, is equal to the sum of t_i mod t_i_len, the size of the "tiles" is equal to LCM(t_1, ..., t_n). If the sizes of the textures are prime number length, which is the optimal length for this technique, you can get huge tiles with tiny textures. It's a well known technique.

  • @Apes-With-Computers
    @Apes-With-Computers Рік тому +1

    This is absolutely amazing. GG Acerola. You go into just the right amount of detail to introduce topics and be entertaining. And you're just really funny. Thanks for making this video!

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

    Great video Rōra Hime
    if you could do river water flow shader stuff in the future that would be epic!
    and maybe even how to have it flow seamlessly into oceans

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

    The cat video to maintain engagement over the ad read is absolutely ELITE

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

    18:56 f-Fluttershy? 0-o

  • @Il_Exile_lI
    @Il_Exile_lI 3 місяці тому +1

    This style of video editing with a new image for like every single word in the script is exhausting to watch

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

    I'm really curious how good the new built-in water system is in Unity HDRP. It seems to do ....most of what you showed.

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

    that is insanely impressive. I didn't realize it was feasable to push the detail THAT high.

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

    putting a cat video to the side of an ad is genius

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

    18:04 such a good analogy

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

    Yes another acerola video

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

    Incredible work!
    Most of the math of shaders goes right over my head, but the end result here was damn impressive.
    If you do continue this project I would love to see you push the limits of a CPU based underwater ecosystem - that would be quite an addition!
    Earned a subscriber in me cheers.

  • @NoHope-WhatSoEver
    @NoHope-WhatSoEver 3 місяці тому +8

    Now do fire.

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

    Super interesting video! Very detailed, on topic, and the humor and analogies really help pull it together. Very happy to have found your channel. Thank you for the content!

  • @NinjaTylerBlevins
    @NinjaTylerBlevins 3 місяці тому +10

    Seen a comment that said “ 0:01 sorry I pe too much” bro what 💀

  • @Commentingstick
    @Commentingstick 3 місяці тому +1

    5:53 TIME EXPANSION: FREQUENCY DOMAIN

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

    Warning : Adult Mathematics
    (That's some tasty water right there)

  • @DoggHounder
    @DoggHounder 7 місяців тому +1

    Just wanted to say that this is one of the most interesting videos on solving complex problems in game dev I've seen on youtube! subbed and i'm curious for your next videos

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

    one super free and easy addition to 'fix' tiling: add a random rotation to each tile. I think there's a blenderguru video about that, where they simulate like, millions of donuts or something, and by applying a random rotation to each tiled texture, it no longer appears tiled to the human eye.

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

      This doesn't really apply since there's only 4 textures, not millions

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

      @@Acerola_t Very true! This is more of when the texture was being tiled before you got to all four overlapping, I was not at that part of the video yet haha. Love your solutions to things!

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

      @@StormBurnX oh I see! It's extra not true for just one texture because if you apply some random rotation to the displacement map then it'll lose all spacial coherence and become unintelligible noise. It's a lot trickier to get rid of tiling when the stuff is moving!

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

    Ready for a greater challenge?
    Take a Fourier transform of a heightmap and then recreate the style as a procedurally generated infinite map. Imagine an infinite BOTW map that has the signature of the original.

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

    12:20 "Richard Feynman..." *proceedes to show Jack Quaid*

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

    An alternative to making noise textures and tiling them is to use a pseudorandom transformation seeded with the coordinate. An extreme example would be to do `noise = AES(some_constant_key, coords)` - but you don't really need anywhere near a full cryptographicially secure encryption function for this. Many PRNGs work just fine here. (Note that you can easily do this blockwise, especially in compute shaders. If you want one bit per pixel of randomness but your transformation is, say, one round of xoroshiro256**, you can do your calculation in 16x16 blocks, running xoroshiro256**(x/16, y/16) once and then distributing the results.)
    You can then feed this into e.g. a normal Perlin noise pipeline or anywhere else you want an arbitrarily-large noise texture.
    This implicit approach can also be extended fairly easily to temporally-stable noise. Just treat it as 3d Perlin noise with time as a coordinate.

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

    I really love when you're teaching us that we can only see on books or even paid lecture with this high level. But we're ape brain so I really appreciate the style of the video very bite size but feels not really complicated. Good stuff 👌

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

    @Acerola I have this idea to get around the tiling problem in all sorts of shaders and texturing: APERIODIC TILING! But it's beyond me to implement. The world needs someone like you to look into this.

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

    I'm playing through Danganronpa 2 again and in the middle of the video I just started hearing music from the game. Definitely wasn't expecting that but it is a great song. In the credits though you write it as Climatic Reasoning when the title is actually Climax Reasoning.

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

    I’m glad you mentioned Atlas’s ocean system. I thought it was cutting edge for it’s time, and holds up very well today.

  • @ielaypogi
    @ielaypogi 3 місяці тому +1

    21:06
    Dani:WHAT DID YOU SAY ABOUT UNITYS PARTICLE SYSTEMS?

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

    Simulating waves/oceans might actually be the best way to interactively learn what and how the (inverse) Fourier transform works, since it is actually more commonly used in e.g. image processing or physics simulations (which are either not documented fully or just not at all).

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

    I don’t know water is going to play a large part of any of my games, but I could use these concepts for reality flux simulations. Very powerful way of handling seeming noise. I was concerned that the reality flux surrounding my play area would tile and I would need to fog it to cover it up. This will help immensely

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

    Tell them to simulate the whole ocean!
    Tell them to simulate the whole ocean!
    Tell them to simulate the whole ocean!

  • @giga-ratsey1420
    @giga-ratsey1420 3 місяці тому +1

    11:19 the use of that picture is CRAZY

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

    22:42 This is such a smart approach to keep the foam

  • @user-ib1bz4bh3g
    @user-ib1bz4bh3g Рік тому +2

    But mr. Rola, you forgot one important thing. In my own experience, I found out that to match the reference images of the ocean, it is very important to increase the roughness as the distance of the pixel increases. It is even described in the Atlas paper. The idea is that the ocean surface will have subpixel details that act kinda like a microfacets :D You can see it in almost all reference images of ocean. The sun reflection is wider in the distance.

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

      This isn't exactly true, there's plenty of ocean specular references that are not wider in the distance and maintain a constant width.

    • @user-ib1bz4bh3g
      @user-ib1bz4bh3g Рік тому

      @@Acerola_t At 20:07 of your video, the pbr shader just doesn't look real with sun so low above the ocean. The reflection will get wider as it approaches the horizon. The trick with increasing the roughness was something that bumped the visuals of my ocean simulation quite a lot, trust me :) Btw, I really enjoy all your videos and I'm looking forward to the video about PBR shader.
      It is explained at the Atlas' GDC talk starting from 18th minute: ua-cam.com/video/Dqld965-Vv0/v-deo.htmlsi=xWr7SKlSK-B_2xg4&t=1080

  • @iliya-malecki
    @iliya-malecki Рік тому

    im so happy for you to finally go ballistic with the view counts! you are the best! im learning so much useful stuff directly applicable to my field, and im not even a game dev but a data scientist

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

    I’m rewatching this with the experience of more game dev knowledge. I appreciate the attempts to translate the complex (ha) math topics into something more legible to a wider audience.
    Great work on foreshadowing the evolution of technique. I’m happy you create content on these subjects. Looking forward to the next vid :3

  • @HappyGick
    @HappyGick 4 місяці тому +1

    I laughed for 5 minutes straight when you completely avoided talking about FFT at 14:12

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

    Coming from an electrical engineering background has made graphics development so much easier. Already have a lot of this background and a solid foundation to build on when it comes to physics means I at least know where my knowledge is lacking.

  • @Kry0000
    @Kry0000 Місяць тому

    This video is very much appreciated. I like looking at videos that show working concepts such as this, the amount of research and application that goes into this has to be astronomical. Citing your sources and sharing your code is top notch, much respect. This video is absolutely beautiful, lots of knowledge and tons of information compilation, stunning results. Well done.

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

    Consider to have a look at the water of "World of Warships" with scattering and foam heads (which are not sea foam, sea foam has a consistency like a protein shake. Foam heads are just bubbles of air by wave energy addition). You also need shallow waters inn your ocean based upon low water depth (which influences the fluid dynamics in the sense of gum stretched and squeezed). There is also convection in ocean water.

  • @llanfairpwlgwyngyll7331
    @llanfairpwlgwyngyll7331 14 днів тому +1

    these vids are the embodiment of work smarter not harder, except its harder to work smarter

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

    I barely scraped through mathematics for engineering in my youth and now have a post-traumatic mental block on heiroglyphics-style formulas, but I really enjoyed watching this - bravo!

  • @Tettzz
    @Tettzz 3 місяці тому +2

    I like the monogatari type of intro