I Tried Rendering Millions Of Particles

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ม.ค. 2025

ความคิดเห็น • 1.3K

  • @Acerola_t
    @Acerola_t  หลายเดือนก่อน +416

    Buy a shirt! - acerola.gg/
    This has been in the works for awhile since I got the 4090 back in July, first video uploaded in 4k too! Hope you think it's cool.

    • @hundvd_7
      @hundvd_7 หลายเดือนก่อน +19

      That cat has some really impressive fur simulation, it's almost life-like

    • @Progr_ammer
      @Progr_ammer หลายเดือนก่อน +1

      dude well done, you always figure out how to innovate things past than they normally seem

    • @noreoalles
      @noreoalles หลายเดือนก่อน +3

      But acerola, you should have found a way to optimize your code on the gtx1660!

    • @noreoalles
      @noreoalles หลายเดือนก่อน +2

      But as a 1660 ti owner, im happy you´ll contineou to use your 1660, so ill be certain i can follow along. Love your videos.

    • @Wonky2
      @Wonky2 หลายเดือนก่อน +1

      The fractals look fantastic in 4K

  • @astral6749
    @astral6749 หลายเดือนก่อน +2104

    Thank you for sticking with the 1660. It makes your simulations more realistic, not graphically but practically. Not all of us has RTX graphics cards after all.

    • @theftking
      @theftking หลายเดือนก่อน +202

      Yeah but think of the ridiculous stuff acerola could do with 24GB of VRAM...
      I'm stoked.

    • @mavromichalisfamily
      @mavromichalisfamily หลายเดือนก่อน +7

      ​@@theftkingTHEFTKING???? I LOVE YOUR VIDS

    • @futuremapper_
      @futuremapper_ หลายเดือนก่อน +10

      Well now he has a 4090

    • @7xyn
      @7xyn หลายเดือนก่อน

      @@theftking hi i watch ur fnaf vids

    • @funky555
      @funky555 หลายเดือนก่อน +6

      as someone who upgraded to a 2080super from a 1660, do not believe the lies. get a new gpu its worth it

  • @TheAnimeLibrary-
    @TheAnimeLibrary- หลายเดือนก่อน +391

    Acerola with a 4090 feels like thanos with the infinity stones

    • @kuromiLayfe
      @kuromiLayfe หลายเดือนก่อน +5

      imagine him getting his hands on A100 gpu’s

    • @charmzon
      @charmzon หลายเดือนก่อน +2

      Fr imagine if bro had a Quadro he’d be America’s most wanted

    • @estebanod
      @estebanod หลายเดือนก่อน

      ​@@kuromiLayfe the a100 isn't that good for gaming tbf so idk if it would be good for particule sim randering

    • @kuromiLayfe
      @kuromiLayfe หลายเดือนก่อน +3

      @ It sucks at rendering but is an absolute beast at compute which is what you need for simulations.. have the A100 do the compute and then the 4090 for rendering :)

  • @jonathanfaber3291
    @jonathanfaber3291 หลายเดือนก่อน +1924

    > can't figure out how to optimise particle system
    > realise bottleneck is in hardware
    > problem solved
    Nice.

    • @Beakerbite
      @Beakerbite หลายเดือนก่อน +143

      Acerola unlocked the wealth algorithm.

    • @victorfunnyman
      @victorfunnyman หลายเดือนก่อน +3

      @@Beakerbite LOOOOL

    • @mortache
      @mortache หลายเดือนก่อน +1

      NVIDIA go brrrrrr ​@@Beakerbite

    • @YoupiMatos2
      @YoupiMatos2 หลายเดือนก่อน +13

      Triple A style optimization : have better hardware or don't play

    • @SophiaWoessner
      @SophiaWoessner หลายเดือนก่อน +6

      @@YoupiMatos2 Steam minimum requirements:
      CPU: i55600k
      GPU: RTX 4090 TI/ Radeon equivalent
      RAM: 92GB
      and the game looks like a game from 98

  • @thirteen3678
    @thirteen3678 หลายเดือนก่อน +711

    Hey man, I just wanted to let you know that whenever I'm walking home alone from a pub while drunk, I stick on one of your videos and pretend I'm on the phone by answering your rhetorical questions. It makes me feel a lot safer, and the interesting stuff keeps being alone off my mind. So I just wanted to say thanks for that.

    • @RFC3514
      @RFC3514 หลายเดือนก่อน +195

      "I saw this guy on the street, he was clearly drunk but still telling some poor game developer what to do over the phone. And then people wonder why games' performance sucks these days."

    • @thirteen3678
      @thirteen3678 หลายเดือนก่อน +85

      @@RFC3514 Look, how is the average game developer supposed to be expected to stay sober these days?

    • @tequilasunset4651
      @tequilasunset4651 หลายเดือนก่อน +37

      ​@@RFC3514he kept on starting every sentence with "But Acerola?" too - did he think this Acerola guy was stoopid?

    • @josephpbrown
      @josephpbrown หลายเดือนก่อน +9

      ​@@thirteen3678id be more surprised if the average game developer could afford to be drunk

    • @eliaslamsa6541
      @eliaslamsa6541 หลายเดือนก่อน +15

      This has got to be the funniest comment I have ever seen. Just the image of some drunk game dev talking about compute shaders on the phone is so hilarious

  • @acegikmo
    @acegikmo หลายเดือนก่อน +2786

    oh shit right I HAVEN'T PUBLISHED THE BLOG POST YET ;-;; its over now they'll know you got a secret early access ill try to get it live asap brb

    • @arcywastooshort
      @arcywastooshort หลายเดือนก่อน +100

      I was so confused I thought I missed it

    • @BillieTheGoose
      @BillieTheGoose หลายเดือนก่อน +138

      Holy shit, I love how collaborative TH-camrs are. I always see fun shoutouts and cameos! And you two are undeniably my favorite graphics programming creators!

    • @bogdan_ostaficiuc
      @bogdan_ostaficiuc หลายเดือนก่อน +122

      no way the bezier curve woman!

    • @true7563
      @true7563 หลายเดือนก่อน +73

      Smh insider information trading by my graphic TH-camrs??

    • @aze4308
      @aze4308 หลายเดือนก่อน +2

      omg

  • @nikolamladenovic8901
    @nikolamladenovic8901 หลายเดือนก่อน +116

    It was so epic when Acerola activated his domain expansion, CHAOS GAME, and reduced the time complexity of the algorithm from exponential to linear time, truly a cinematic masterpiece.

    • @collinbeal
      @collinbeal หลายเดือนก่อน +2

      Absolute cinema

    • @lawnmanGman
      @lawnmanGman 3 วันที่ผ่านมา

      like painting on air

  • @jaceg810
    @jaceg810 หลายเดือนก่อน +1232

    Problem: Maths too difficult
    Solution: Randomly apply functions
    If only there was a way this was possible for everyday problems

    • @matejsmetana3165
      @matejsmetana3165 หลายเดือนก่อน +135

      Problem: Optimization is too difficult
      Solution: Just buy better hardware

    • @En0834
      @En0834 หลายเดือนก่อน +25

      Functions are math too, but using a dress to look cuter.

    • @HellHappens
      @HellHappens หลายเดือนก่อน +13

      Oh but everyday is like that, you just have to keep going until it works out

    • @4mb127
      @4mb127 หลายเดือนก่อน +6

      Eventually you will saturate every search space. It will usually take more than the lifetime of the entire universe.

    • @xaf15001
      @xaf15001 หลายเดือนก่อน +3

      Every programmer ever is sweating rn

  • @tawandagamedevs
    @tawandagamedevs หลายเดือนก่อน +250

    Death metal bands just found a font generator

  • @SeantheShort
    @SeantheShort หลายเดือนก่อน +3325

    But acerola,

    • @recurvestickerdragon
      @recurvestickerdragon หลายเดือนก่อน +61

      but Acero LA...

    • @funkdefied1
      @funkdefied1 หลายเดือนก่อน +58

      Butt Acerola,

    • @magic_nanito
      @magic_nanito หลายเดือนก่อน +33

      But cacerola,

    • @errorstudioz
      @errorstudioz หลายเดือนก่อน +23

      But Ace in the hole,

    • @BooLightning
      @BooLightning หลายเดือนก่อน +20

      this will never get old

  • @literallymaciek3688
    @literallymaciek3688 หลายเดือนก่อน +140

    you made a lot of cool visual art like the realistic waves, filters that turn images into text and now this cool particle system. Why not use that for your merch. Then people could pick the merch related to their favourite video

    • @Acerola_t
      @Acerola_t  หลายเดือนก่อน +113

      yeah now that I can render at 4k I'll be doin prints soon

    • @Spots1000
      @Spots1000 หลายเดือนก่อน +11

      Yeah I was really disappointed that this channel is all about beautiful graphics effects and math, and the merch is just flat boring text.

    • @ajm2671
      @ajm2671 หลายเดือนก่อน +18

      The one at 31:57 would be really cool on a black t-shirt.

    • @neozeo4245
      @neozeo4245 หลายเดือนก่อน +6

      ​@@Acerola_t Yeah pls put your fractals etc. onto shirts or posters!

    • @JacobJustice2141
      @JacobJustice2141 หลายเดือนก่อน

      @@Spots1000 I was surprised by the merch as well. But I also realized that I

  • @simyon
    @simyon หลายเดือนก่อน +885

    35 minute Acerola video. We've been blessed today

    • @Rhythm162.
      @Rhythm162. หลายเดือนก่อน +1

      Real and true

    • @GyrosYT
      @GyrosYT หลายเดือนก่อน

      Indeed!

    • @joeisfat
      @joeisfat หลายเดือนก่อน

      agree

  • @finaltheory588
    @finaltheory588 หลายเดือนก่อน +120

    The 1660 asked the point cloud, "If you and 4090 fought, would you lose?". The point cloud responded, "Nah, I'd win".

    • @Acerola_t
      @Acerola_t  หลายเดือนก่อน +54

      if the number of thread groups exceeds the maximum dispatch limit i might have a little trouble

    • @ripbycoppa
      @ripbycoppa หลายเดือนก่อน +2

      would you lose?

  • @cup-noodle-love
    @cup-noodle-love หลายเดือนก่อน +564

    "Wait a second" - starts stopwatch 💀

    • @Mrjcowman
      @Mrjcowman หลายเดือนก่อน +37

      This one killed me. I had to pause the video to make sure I didn't miss anything while laughing

    • @vxpdx
      @vxpdx หลายเดือนก่อน +6

      padding for ads. shaking my smh

    • @二進化型リフェイ
      @二進化型リフェイ หลายเดือนก่อน +1

      13:55 timestamp: wait a second.

  • @3lH4ck3rC0mf0r7
    @3lH4ck3rC0mf0r7 หลายเดือนก่อน +60

    Maybe you could've weaponized the massive amounts of overdraw and relied on additive blending and the Z-buffer to calculate your lighting? Since you don't have any light sources that may be occluded by the geometry.

    • @user-sl6gn1ss8p
      @user-sl6gn1ss8p หลายเดือนก่อน +7

      I was really hoping for this since the halfway point

    • @MadsterV
      @MadsterV หลายเดือนก่อน +7

      no z-buffer needed, just additive blending. You'd get a sort of x-ray though, with higher density zones being whiter. Occlusion really looks great.

    • @oli_dev
      @oli_dev หลายเดือนก่อน

      Ahh, this is brilliant.

    • @ThePC007
      @ThePC007 หลายเดือนก่อน +3

      My idea was to vary the color based on the distance to the camera, but maybe that’d be too lazy. :p

    • @Muzkaw
      @Muzkaw หลายเดือนก่อน +2

      I agree, this technique is called Eye Dome Lighting and is heavily used in 3d scanning application (lidar data, 3d scanners...). The results is incredible for virtually 0 cost since it is based on the depth map alone which is computed anyways

  • @daylen577
    @daylen577 หลายเดือนก่อน +267

    I love how your videos feel like those videos of NES developers explaining how hacky they got just to display things that seem simple nowadays. You really manage to both explain why it's needed and how you did it in such a simple and engaging way that very few other channels manage to recreate

    • @RFC3514
      @RFC3514 หลายเดือนก่อน +8

      I remember when you had to do two shifts and an add (y

    • @MadsterV
      @MadsterV หลายเดือนก่อน +2

      @@RFC3514 there's other, new tricks being done though.
      Me, myself I'm working on documenting some old pixel art techniques I feel have been lost to time and hardware power, which turned out to be not all that great (bandwidth constraints and lower-power mobile devices) but the techniques were already lost. It's been quite the journey but I hope I'll be able to put them in paper..... and in the process I've come up with new tricks that run on the same old hardware!

    • @RFC3514
      @RFC3514 หลายเดือนก่อน +1

      @@MadsterV - If you haven't yet, check out a video called "8 Bit & 8 Bitish Graphics Outside the Box", which is mainly about CLUT-cycling (something that can't really be done in modern graphics modes). I did some of that back in the Atari ST / Amiga (and early VGA) days, but Mark Ferrari takes it to insane extremes.

  • @Ribiveer
    @Ribiveer หลายเดือนก่อน +34

    I'm really loving that rendition of WHITE SPACE. It sounds great! It's also a song very dear to me, so it surprised me to hear it.

    • @soup9911
      @soup9911 หลายเดือนก่อน +5

      Oh boy! Another acerola video, I sure I hope I am not reminded of a video game that permanently altered my brain chem.
      (My clueless ass about 40 minutes ago)

  • @BearTheCoder
    @BearTheCoder หลายเดือนก่อน +251

    I'm kinda dumb, so the only thing I learned from this video is that Acerole uses Unity Light Mode @16:42

    • @Acerola_t
      @Acerola_t  หลายเดือนก่อน +133

      it's more of a neutral gray

    • @darjanator
      @darjanator หลายเดือนก่อน +15

      @@Acerola_t 1 nit or bust

    • @aeliusdawn
      @aeliusdawn หลายเดือนก่อน +3

      @@Acerola_t What a monster

    • @RFC3514
      @RFC3514 หลายเดือนก่อน +3

      Maybe it's just that I "grew up" with 3D Studio (and later 3DSMAX) and Autodesk Animator (and later Combustion / Eyeon Fusion / Nuke), but If I see someone running a 3D IDE in dark mode, I automatically think: "Wanker. Everybody knows that dark mode is only for 2D compositing."
      And coding IDEs should _obviously_ use light grey text over a dark blue background, like Borland and Watcom intended! 😜

    • @aeliusdawn
      @aeliusdawn หลายเดือนก่อน +3

      @@RFC3514 yeah its definitely because you are used to it because most software are dark mode by default now

  • @lucasvervoort5830
    @lucasvervoort5830 หลายเดือนก่อน +14

    Wow, this was the topic of my bachelor thesis! Really happy to see it computed this nicely.
    The mathematics on why this chaos game approach works is a really nice topic to delve into

  • @blanana_m
    @blanana_m หลายเดือนก่อน +82

    What's next?
    Your own real time fluid sim?
    Turbulent flow models know how to fight back

  • @captainbreadbeard9870
    @captainbreadbeard9870 หลายเดือนก่อน +11

    The randomly generated shape @ 17:01 looks like a phoenix, and I love it

  • @RandomlyAwesomeGamer
    @RandomlyAwesomeGamer หลายเดือนก่อน +35

    I mean, it's not like bad topology helps either. Even if they are not the bottleneck here there _are_ setups you'll encounter in practice that are taken out back behind the barn by overdraw and subpixels. So the gpu does care, just not too much.
    sidenote; most of those blends really do look like wings, would be pretty cool to have that system attached to a character, even before the Kuwahara makes them even more feathery. The noise even fits with/supports the whole "energy gathering into a shape" motif.

  • @Julzaa
    @Julzaa หลายเดือนก่อน +15

    32:41 but I'm sure it's coming! See "3D Gaussian Ray Tracing: Fast Tracing of Particle Scenes", an NVIDIA paper from this summer.

  • @sepiar7682
    @sepiar7682 หลายเดือนก่อน +72

    The Domain Expansion: Chaos Game bit was amazing!

  • @DaCubeKing
    @DaCubeKing หลายเดือนก่อน +22

    26:14 NEW GPU LETS GOO

  • @xenen9797
    @xenen9797 หลายเดือนก่อน +58

    13:46 I love TAA shirt made my day lmaoooo

  • @riddellriddell
    @riddellriddell หลายเดือนก่อน +9

    For particle lighting you might want to try deep shadow maps using Fourier series
    I made an example of this ages ago (search Volumetric Particle Lighting Fort Attack if your interested)
    Another option is using statistics, random and temporal blending. Each frame you randomly select a set of particles to render from the lights perspective then do a standard shadow map calculation and temporally blend the results for each particle. If you have a 100 particles evenly distributed on the lights path and only select one per update then a particle in the middle will be closer to the light 50% of the time giving you volumetric lighting.

    • @MadsterV
      @MadsterV หลายเดือนก่อน

      x4pLnrcnwL0
      looks really good!

  • @Nufshi
    @Nufshi หลายเดือนก่อน +55

    Aight. Time to watch another acerola video that i understand nothing about but act like i do.

  • @Audio_noodle
    @Audio_noodle หลายเดือนก่อน +11

    biblically accurate angel generator

  • @h2o848
    @h2o848 หลายเดือนก่อน +36

    i love how your editing and writing style mixes all this kinda-hard math with a dash of silliness

  • @isned2000
    @isned2000 หลายเดือนก่อน +6

    One thing to note about the tiny triangle quad overdraw problem, it probably wasn't a big deal in the particle case because the particles were not texture mapped. The GPU only does the full quad finite differences pass if the fragment shader reads an interpolated attribute like texture coordinates, solid color triangles don't pay the cost.
    In general the tiny triangle inefficiency only becomes a problem in very specific cases, the performance tax it incurs depends on the way the rest of the rendering pipeline is set up. The more work that is done by the triangle's fragment shader, as opposed to a full screen pass later, the worse the performance hit, MSAA magnifies it. Microtriangles need special considerations in the most extreme conditions, like UE5's Nanite, where every triangle is a microtriangle by design, or VR rendering where frametimes are small and everything is rendered using forward rendering with lots of MSAA, (basically the quad inefficiency worst case) but you really don't need to worry about it in the general case. A game isn't running slow because of one really dense model, or even a few really dense models.

  • @seedmole
    @seedmole หลายเดือนก่อน +14

    Many familiar topics here, nice to see. Like lerp functions (I think of them as mix functions..) and easing functions (I think of them as transfer functions).. and like, even Affine transformations are analogous to a classic Gain + Offset module in the context of modular audio synthesis.
    Okay and yeah, a possible way to "fix" the noise issue is to use another easing/transfer function on the values of the voxel grid before the occlusion calculation. This is the same problem of Gate signals in modular audio synthesis being too abrupt (especially with digitally controlled ones that can operate arbitrarily quickly), so they're used to control Envelope modules, which give a way to set the rate of change for the rising and falling edges of the signal. This is really important when using an threshold detector on an incoming audio signal to generate gates, because otherwise super brief changes in the signal level can produce large changes in the output level... anyway yeah, interesting to see more and more analogous operations.. almost as if they're the same topic but over different domains or something hehe.

    • @inv41id
      @inv41id หลายเดือนก่อน +1

      As it happens, even in GLSL (the language used for writing shaders in OpenGL) the built-in lerp function is called "mix"

  • @bobolandart3873
    @bobolandart3873 หลายเดือนก่อน +9

    I've always loved your Monogatari editing style, and (for some reason) just realized why you're called Acerola. nice 🦇

  • @soleilvermeil
    @soleilvermeil หลายเดือนก่อน +3

    The screenshots at the end are marvelous ! I would more likely buy a print of one of them rather than a shirt haha

  • @trupotato
    @trupotato หลายเดือนก่อน +13

    I would wear a shirt with the fractal render at 31:57 on it

  • @TheLlamea
    @TheLlamea หลายเดือนก่อน +3

    Dude, your videos are so lit. Never touched graphic design and probably never will but I do like video games and I love peeking into how this aspect of them is created through your videos. I really like how you navigate between idealism and pragmatism in your approach and the examples you create always turn out really aesthetically pleasing.
    Also from an educational standpoint you impress me in a big way, especially with the math heavy parts. A lot of the time you are explaining concepts that are totally novel to me and 1) you're able to make me interested in and end up understanding a lot of what you cover, and 2) even when something totally goes over my head, I never feel like I've lost the thread and the rest of the video is incomprehensible. You always tie stuff into the overarching goals/ideas that people with zero relevant background can grasp.
    Besides, even though strictly the topics themselves are unlikely to ever be useful to me, I feel like your videos legitimately have taught me some really valuable perspective about approaching big, complicated problems that I can apply to my own creative ambitions.
    Thanks for making these!

  • @alexisfa13
    @alexisfa13 หลายเดือนก่อน +1

    The explanation about transformation matrixes would've been so useful when I was working on my submission for your game jam. That said, there's so much useful information here that I'm going to be rewatching this video a lot. Great video, thanks!

  • @evilotis01
    @evilotis01 หลายเดือนก่อน +3

    oh i'm glad you mentioned Freya Holmer's video! that was one of the first things that got me interested in how graphics work

  • @verynondescript
    @verynondescript หลายเดือนก่อน +1

    Wonderful video. I learned a lot

    • @Acerola_t
      @Acerola_t  หลายเดือนก่อน

      Thanks!!

  • @NikitaShokin2003
    @NikitaShokin2003 หลายเดือนก่อน +22

    Such a nice solution! But, unfortunatley, I haven't found a 4090 at my kitchen. What do I do now?

    • @wydua
      @wydua หลายเดือนก่อน +9

      Silly. The 4090s are in Acerola's kitchen.

    • @ThePC007
      @ThePC007 หลายเดือนก่อน

      You prerender it on the GTX 555 you found on your driveway.

  • @blulynx2619
    @blulynx2619 หลายเดือนก่อน +3

    13:45 Seeing an "I

  • @creepermangr4589
    @creepermangr4589 หลายเดือนก่อน +9

    I can't believe i understood everything from this video, this is suh an achievement for me.
    I feel like I should put "understanding this video" to my CV, or maybe print it and put it on the wall like a degree!

    • @bsz6328
      @bsz6328 หลายเดือนก่อน

      Sortof same here lol. I used to learn stuff like these 25 years ago and never touched anything related since then. My knowledge is just enough to be amazed how ez the dude doin it :D

  • @mcbeaniee
    @mcbeaniee หลายเดือนก่อน +4

    i didnt expect to have to break out my simple domain in the middle of an acerola video

  • @gracicot42
    @gracicot42 หลายเดือนก่อน +14

    You could easily write a paper and publish it given the quality of this content and the novelty of this technique

  • @jjjmmm6133
    @jjjmmm6133 หลายเดือนก่อน +2

    Pretty good video. Because like 10 Years ago I had to merge and interpolate between 2D matrizes. And exactly as you mentioned, interpolating and merging rotations of a sheared object was extremely tricky.

  • @1ups_15
    @1ups_15 หลายเดือนก่อน +10

    you should really implement TAA for this I think, I can definitely see how it would benefit this project in particular!

  • @kiesel2404
    @kiesel2404 หลายเดือนก่อน +2

    32:20 Omg the Metaohor Music ❤

  • @lunabell-2
    @lunabell-2 หลายเดือนก่อน +10

    1:00 ok coconut lady

  • @DunceDude
    @DunceDude หลายเดือนก่อน +2

    I have never seen this youtuber once in my life, I clicked on it not knowing anything, and I left still kind of not knowing anything, and I loved every second of it. Excellent video.

  • @orbatos
    @orbatos หลายเดือนก่อน +4

    The closest I've seen to this was a demoscene demo that required an obscene amount of memory for the time and was of course much lower detail. Notably it also used ambient occlusion for shading. I remember it partly because the author referred to that same 1990 paper you brought up.

  • @nicolerogowski2688
    @nicolerogowski2688 หลายเดือนก่อน

    This is so insanely cool! I study chaos game and its relationship to IFS for my PhD, but I never would have expected these topics to come up here! I use chaos game to represent genetic information, thus producing a unique fractal out of it - which I then use as input for all sorts of analyses like convolutional neural networks. I do all of this through the lens of virology, as I use this method to study how COVID-19 evolves in real time (real time being every few days because the gov won't let you sample people too often) in response to different pressures - like antiviral treatment! I hope someday to make something so visually intuitive for my research, and this video has given me plenty of ideas on how to do exactly that - huge thanks!

  • @t3dotgg
    @t3dotgg หลายเดือนก่อน +9

    I haven’t watched yet but I know this is gonna be such a banger

    • @t3dotgg
      @t3dotgg หลายเดือนก่อน +5

      Update: It was indeed a banger

    • @RenderingUser
      @RenderingUser หลายเดือนก่อน +2

      ​@@t3dotggoh no it's theo

    • @RainlessSky
      @RainlessSky หลายเดือนก่อน

      ​@@t3dotggoh no it's theo

  • @murkshroom
    @murkshroom หลายเดือนก่อน

    This video is simultaneously very impressive, comforting, educational and fun to watch.
    Also timer on "wait a second" had me dead

  • @ccencceth
    @ccencceth หลายเดือนก่อน +13

    jaw actually dropped when the kuwahara filter was enabled

  • @kevincsellak296
    @kevincsellak296 หลายเดือนก่อน

    This video is amazing! I'd love to see more research and novel findings like this. The part where you reintroduced the formal method in a rapid summary of the process reminded me of Junferno's style in a good way. And I can't wait to see other people taking initiative to delve into the questions left open at the end!

  • @Zyxlian
    @Zyxlian หลายเดือนก่อน +18

    My biggest pet peeve right now in graphics is the use of blurring effects to hide inefficiencies. I get that it would be too costly to generate things without noise and dithering, but I just hate how the results look. I have not ran into an implementation of TAA that has looked good to my eyes, including upscaling like DLAA and such. I like how ray tracing is being pushed more, but this transition time that relies on dithering and other noise effects to hide the performance impact cannot end soon enough.

    • @Acerola_t
      @Acerola_t  หลายเดือนก่อน +22

      there will always be inefficiencies it came for free with your reimann sums

    • @Zyxlian
      @Zyxlian หลายเดือนก่อน +9

      @@Acerola_t I get it, but I just feel that the older methods of hiding them were better than the current temporal methods. The way that they are implemented now means that there is not even the option of turning off the temporal effects without destroying visuals completely. So you just have to put up with smearing instead of the jaggies of before. I preferred jaggies since there are multiple other ways of hiding them - like a simple increase in render resolution once hardware gets better.

    • @cataclystp
      @cataclystp หลายเดือนก่อน +5

      @@Zyxlian you're looking at them with rose-tinted glasses. Old games were aliased and jaggy as hell, and no, increasing resolution doesn't make the problem go away, it just makes it smaller. That doesn't count since in this case, the resolution of your screen has no relevance to the resolution of the particle system. I get that TAA is the new biggest thing for everyone to pretend to be an expert on, but the truth is that these are new problems that weren't feasible before due to limitations of hardware. "Old methods" didn't do particle systems like this better because they literally were not possible on old hardware. You're literally looking at a novel technique that hasn't been done before and saying "well back in my day things were done better!!!" while failing to understand what the word "novel" means

    • @Zyxlian
      @Zyxlian หลายเดือนก่อน +4

      Sorry, I don't mean to come off as rude, I think the particle systems shown here is really cool. I just got irked about handwaving the performance impact of it by implementing TAA. I get that these techniques to push the visuals in graphics are always going to be ahead of the hardware (I was working with ray tracing implementations in the early 2010s, where it took several seconds to render frames). I just hate how there is an increasing number of games where the implementations of these effects are locked on, and the solution to the significant performance impact is to just decrease the resolution and add blurring. What's the point of ray tracing or particle swarms if they just end up being displayed as a dithered blur?
      As for my increase in resolution comment, I was thinking more along the lines of increasing the amount of particles in the swarm. In the sense that future hardware will be able to render more particles natively. By implementing the feature in a way that, even with this increase in particles and hardware performance, will still be blurry/dithered no matter how performant the hardware is, just seems counter-intuitive to me.
      I just want the option to turn the blurring effects off without destroying visuals.

    • @RADkate
      @RADkate หลายเดือนก่อน +2

      @@cataclystp the forced taa hate is so funny to me, its the holy grail of aa, it really feels like a jesus situation lmao

  • @ewerybody
    @ewerybody หลายเดือนก่อน +1

    1:25 Particle Systems are programs! ..
    that create and manage collections of few to many entities.
    Where the rule set of a collections controls the behavior of the individual entity.

  • @sillyvektor
    @sillyvektor หลายเดือนก่อน +9

    This is one of your best videos in my opinion. The results were crazy beautiful!

  • @lebasson
    @lebasson หลายเดือนก่อน

    hot damn, when you added lighting it became absolutely mesmerizing. I'm impressed you managed to publish this video, I'd still be watching the simulation ceaselessly transforming into infinity.

  • @raedev
    @raedev หลายเดือนก่อน +13

    ooo i actually did a similar thing to the sierpinsky triangle example you showed, like 7 years ago or something after seeing a demo on numberphile where they had three target points and one moving point, and you're just rotate the one moving point towards one of the target points (literally at random) and moved it halfway there, then you'd plot its position and repeat the steps. the moving point very quickly (like within three or four iterations) moved itself into the triangle fractal area and then stayed there no matter what. I experimented by using more than 3 points, as well as changing just how far towards them the moving point would move instead of "halfway thhough", and got some very cool results. - EDIT: HAH it was their Chaos Game video from 7 years ago, I was right! The way I did it back then was much more inelegant though, I simply opened gamemaker and rawdogged a surface with draw_point calls, which is all CPU bound _and_ incredibly slow (it's slightly faster nowadays but i still wouldn't recommend it lol)

    • @yesno7889
      @yesno7889 หลายเดือนก่อน +1

      Funny how I did the exact same thing after watching that exact video too

  • @El-Mostazas
    @El-Mostazas หลายเดือนก่อน +2

    "Domain Expansion, The Chaos Game"
    Absolute Cinema

  • @JBiton
    @JBiton หลายเดือนก่อน +10

    But Acerola, you of all people deserve a 4090, I’m happy for you 😊

  • @slembcke
    @slembcke หลายเดือนก่อน +1

    Neat! I did something similar for a VR prototype a couple years ago, though I just transformed the previous eye buffers instead. That means you lose a dimension from the transformation each time, but that adds some really weird effects to it. (especially in stereo) It's basically like a VR version of the infinite mirror effect. :) Instead of points I drew a few hundred little meshlets each frame which would then get multiplied in successive frames instead of doing the whole IFS in a single frame. This made it _extremely_ cheap to compute on mobile VR hardware.

  • @imdaros6500
    @imdaros6500 หลายเดือนก่อน +3

    I haven't seen anyone mention this, but from your video you made on water rendering, I swear you look much bigger and more built, great job working out bro you look sick 🔥🔥

  • @anon_y_mousse
    @anon_y_mousse หลายเดือนก่อน +1

    I've got a soft spot in my heart for the Sierpinski fractal. There was a TI-BASIC program to generate them in my graphing calculator's manual and it was the first fractal I ever saw a computing device draw. As for your particle system technique, I wonder if you could use this to simulate hurricanes and maybe make better predictive models.

  • @ИльяВитцев
    @ИльяВитцев หลายเดือนก่อน +7

    That 4090 bit was quite funny.

  • @uis246
    @uis246 หลายเดือนก่อน +2

    *remembers pushing as many quads to gpu as possible*
    It's vertex fetch and vertex shader. On Intels it is always memory stall.

  • @bungercolumbus
    @bungercolumbus หลายเดือนก่อน +2

    I love the way you introduced the chaos game lol

  • @annexhion5343
    @annexhion5343 หลายเดือนก่อน

    Dude, your videos are the only thing that really helps me grasp these concepts. Explaining things through trial and error examples is like a hack for people who learn best from experience. If only I had a 4090 and the knowledge to use Unity.

  • @Reegeed
    @Reegeed หลายเดือนก่อน +3

    16:53 sitting dragon
    16:55 bat
    16:57 hawk
    17:01 Very fluffy eagle
    17:02 vulture that had ot have his coff. . .
    Oh. Its not my appointment?

    • @nikhilchouhan8734
      @nikhilchouhan8734 หลายเดือนก่อน +1

      where is hawk 2 huh?

    • @Reegeed
      @Reegeed หลายเดือนก่อน

      @@nikhilchouhan8734 There is no hawk 2 girl here but there are several more birds. But its not my Rorschach test and i dont take someone else things.

    • @diego_ale_contreras
      @diego_ale_contreras 9 วันที่ผ่านมา +1

      wow at 16:57 I saw a hawk too!

    • @diego_ale_contreras
      @diego_ale_contreras 9 วันที่ผ่านมา

      Say that again.

  • @shyvv.
    @shyvv. หลายเดือนก่อน +1

    Acerola is the only TH-camr I’ve seen who has mastered the sponsored segment. I watch the whole thing.

  • @doorknob7420
    @doorknob7420 หลายเดือนก่อน +8

    31:35 THREE

  • @sirsamiboi
    @sirsamiboi หลายเดือนก่อน +1

    The calmness of Sebastian Lague is all well and good, but we need a more chaotic counterpart

  • @makebreakrepeat
    @makebreakrepeat หลายเดือนก่อน +3

    11:30 You'd be surprised how often GPU land comes up at my AA meetings

  • @djannias
    @djannias หลายเดือนก่อน

    🎯 Key points for quick navigation:
    00:00 *🎮 Introduction to Particle Systems*
    - Overview of particle systems used in popular games and recent innovations in particle effects.
    - Examples include games like *Astrobot* and *The Last of Us Part II* for visual and interactive particle systems.
    - Introduction to the purpose of the video: to explore and develop a unique particle system.
    02:00 *🔺 Constructing a Particle System with Fractals*
    - Explanation of fractals, starting with the Sierpinski Triangle, using recursive point-splitting.
    - Mathematical approach to generate fractal shapes and use particle systems for visual representation.
    - Highlight of GPU’s role in rendering vast numbers of particles efficiently.
    03:39 *💡 The Challenge of Efficient Particle Rendering*
    - Discussion on GPU instancing to reduce computational load and optimize frame rates.
    - Explanation of batching as a way to render millions of particles using fewer GPU calls.
    - Introduction to limitations and challenges of GPU instancing, especially with dynamic particle positions.
    06:22 *🚀 Advancements in Compute Shaders for Particle Systems*
    - Compute shaders enable dynamic particle updates on the GPU, enhancing visual effects.
    - Description of iterated function systems and their application to create complex, fractal-like particle arrangements.
    - Challenges related to exponential growth in particle count and memory usage in high-generation fractals.
    08:42 *🔄 Simplifying Complexity with the Chaos Game*
    - Introduction to the chaos game as a more efficient, stochastic method to create fractals with particle systems.
    - Linear complexity with chaos game, allowing easier handling of large particle numbers on the GPU.
    - Overview of blending transformations to create unique shapes beyond traditional fractals like the Sierpinski Triangle.
    11:47 *🔀 Matrix Transformations for New Shape Generation*
    - Explanation of affine transformations using matrices for varied particle effects, scaling, rotation, and shearing.
    - Importance of matrix operations in creating transformations and more visually interesting effects in real time.
    - Setup for random transformation generation to produce novel particle configurations with each rendering.
    14:51 *🎛️ Blending Techniques and Smooth Transitions*
    - Using linear interpolation (lerp) and easing functions to create smoother transitions between particle shapes.
    - Discussion on the limitations of blending transformations directly and the need for matrix manipulation.
    - Implementation of Framerate Independent Lerp Smoothing for realistic animations and natural-looking fractal growth.
    20:44 *🧪 Performance and Optimization Challenges*
    - Summary of the particle system setup, using compute shaders and instancing for efficient performance.
    - Discussion on GPU particle limits and the potential bottlenecks in handling extremely high particle counts.
    - Performance evaluation of the system, reaching around 10 million particles before encountering frame rate drops.
    21:56 *🖥️ Identifying GPU Bottlenecks*
    - Discussion of the GPU stages impacting particle performance: compute, vertex, and fragment shaders.
    - Audience poll shows the fragment shader was thought to be the issue; the actual bottleneck was the vertex shader due to expensive memory fetches.
    24:00 *🔄 Vertex Shader Optimization for 100 Million Particles*
    - Solution: direct vertex data streaming from a point cloud mesh, bypassing the need for instancing.
    - Performance improvement allowed handling up to 30 million particles, though still below the 100 million target on mid-tier hardware.
    26:05 *💡 Leveraging an RTX 4090 for High-Performance Particle Rendering*
    - Achieved rendering of 100 million particles in real-time using RTX 4090, showcasing advanced capability.
    - Issues with flat shading were addressed, aiming to provide 3D depth perception using ambient occlusion.
    27:12 *🌌 Lighting and Shading 3D Particle Systems*
    - Ambient occlusion applied to give depth to particles using a voxelized grid for real-time shading.
    - The method enables volumetric lighting, making the 3D particle system appear more immersive.
    28:36 *🔢 Doubling Particle Count Efficiently*
    - Explored GPU instancing with chaos game approximations, doubling particle count to over 200 million.
    - Achieved additional efficiency by combining formal and chaos game methods.
    30:28 *🔍 Exploring New Fractal Shapes and Applications*
    - Real-time ambient occlusion lighting achieved for a 3D iterated function system.
    - Suggested potential for broader applications, including procedural generation and fractal-based meshes.
    32:17 *🌈 Enhancing Visual Quality and Styling*
    - Adjusted shading colors and applied the Kuwahara filter for a stylized, soft visual effect.
    - Enhanced appearance with bloom effects, giving particles a cloud-like, volumetric feel.
    34:51 *📊 Future Extensions and Potential Applications*
    - Ideas for using iterated function systems in generating natural structures like coral or trees.
    - Suggested applications in color generation and procedural color palettes using fractal transformations.
    35:54 *🙏 Closing Remarks and Call to Action*
    - Summary of particle system advancements and future potential in graphics programming.
    - Encouragement to support the channel to enable further R&D in graphics innovations.
    Made with HARPA AI

  • @chickenbobbobba
    @chickenbobbobba หลายเดือนก่อน +9

    25:37 missed opportunity to pull it out of your oven, like jensen did in his kitchen

  • @Waffle_6
    @Waffle_6 หลายเดือนก่อน +2

    hey acerola, i have been studying dynamical systems in my free time these past few months and a really interesting project you could do that is equivalent to this, is modeling state space diagrams of dynamical system. nonlinear dynamics, and chaos theory(ding ding ding!! you just dipped your toes in it with this video) would be a really fascinating computer science and computational difficult problem at reasonable compute times. Like a live mandlebrot set, or whatever other maps. all sorts of cool orbits, cycles, attractors and the like to explore. especially if given some dynamical system, could freely explore certain systems and investigate their structure. anyways, really cool video as well. super neat stuff

  • @jan_harald
    @jan_harald หลายเดือนก่อน +3

    actually, I suspect some splatting, perhaps even gaussian splatting, could work for games if you don't do it every frame, but like, use it as a basis, much like videos have keyframes and then a bunch of change frames that only modify parts of the frame...
    like you quickly chaos game the general scene very broadly, then splat a mostly-done scene over it, then quickly chaos game the approximation of details, and then do a little bit of something more, like use low-poly models and traditional rendering to map the result to a model, and for the next couple frames, you could just figure out a few changed areas, and do the chaos details + lowpoly, and perhaps re-splat the changed areas every say, 5th frame, or 10th frame? maybe even like every 30th frame or so...
    I'm not smart, but I think some sort of combination thingie like this could actually work, not necessarly exactly as I described, but something a bit similar...

  • @dhyeykulkarni3989
    @dhyeykulkarni3989 หลายเดือนก่อน +1

    My grandfather was a computer scientist back in the day, and his favourite saying is "If you have a problem, throw more hardware at it"
    Perfect example

  • @nuclearsu
    @nuclearsu หลายเดือนก่อน +5

    31:54 Holy shit bro is an artist.. That's actually beautiful

  • @JulesB418
    @JulesB418 หลายเดือนก่อน +2

    What if we move through the point cloud space with bezier curves ? We "chose" multiple matrices in advance and blend between them with a bezier curve, it could make the animation more smooth instead of going from one to another and see a clear stop in between the blends

    • @JulesB418
      @JulesB418 หลายเดือนก่อน

      Sorry if it is not well written, english is not my first language

  • @CoolestPossibleName
    @CoolestPossibleName หลายเดือนก่อน +4

    I hate the way this video is edited, but it makes me keep watching

  • @casperes0912
    @casperes0912 หลายเดือนก่อน +2

    I'd love to know more about splatting, thanks :)

  • @beamshooter
    @beamshooter หลายเดือนก่อน +11

    babe wake up acerola just posted

  • @PanzerschrekCN
    @PanzerschrekCN หลายเดือนก่อน +1

    Chaotic approach isn't really necessary. It's possible to use deterministic approach of position generation based on particle ID, using several iterations of a simple algorithm with integer divisions. It eliminates necessity of denoising entirely.
    Also compute shader isn't necessary at all, all positions may be generated in vertex shader instead.

  • @wazawalter
    @wazawalter หลายเดือนก่อน +5

    "accidentally invented a new particle system never seen before" i know god damn RIGHT the video will be good

  • @jimislaughterback6280
    @jimislaughterback6280 หลายเดือนก่อน

    I wish I weren't almost completely lost at the 10 minute mark. I've been slapping together crude stuff in a GUI for a long time and this explained so many things I had not previously considered. Awesome video.

  • @NoenD_io
    @NoenD_io หลายเดือนก่อน +3

    Farticle system

  • @candygonemad
    @candygonemad หลายเดือนก่อน +1

    always cool to see matrix math i learned about being applied in an interesting way

  • @mauricetaneca9337
    @mauricetaneca9337 หลายเดือนก่อน +6

    NO WAY SLAMM JEKER

  • @hisshame
    @hisshame หลายเดือนก่อน +1

    As always, Acerola, amazing I would love for there to be a game tech R&D organization where people like you can just make new technologies for the industry to use

  • @tollutollu
    @tollutollu หลายเดือนก่อน +3

    just do it already. stop waffling, you know exactly what I mean. why keep waiting

  • @Fur0rem
    @Fur0rem หลายเดือนก่อน +1

    these fractal looking things look sick af, and i think the kuwahara filter works well for those since they're kind of millions of tiny brush strokes

  • @Sondelll
    @Sondelll หลายเดือนก่อน +5

    but aceroola, I'm at wooork :(

  • @tomgrimard8075
    @tomgrimard8075 หลายเดือนก่อน

    I'm so happy you posted another video! I was waiting for one lol. It's a very cool video as well is how they did use those things on Astro bot and mixed those with gravity and interaction with the player

  • @ameegosamungus1520
    @ameegosamungus1520 หลายเดือนก่อน

    these are awesome for brush textures for drawing

  • @dank.
    @dank. หลายเดือนก่อน

    I've been waiting for you to touch on fractals for a while, and it's so cool that you found a novel angle to approach the topic.

  • @moveton314
    @moveton314 หลายเดือนก่อน +1

    PART TWO PLEASE, ACEROLA I LOVE YOU

  • @DJFienx
    @DJFienx หลายเดือนก่อน

    Amazing video dude, thanks! One thing that would be cool to see from a visualisation perspective, would be having the camera move around a bit and slow down the transition while doing so

  • @theultimatetrashman887
    @theultimatetrashman887 หลายเดือนก่อน +1

    All those formations after you yapped about matrix the movie look like pretty cool drawn explosions.