Patrons can now vote for the next video! Thank you for your support. ❤ Support me on Patreon: www.patreon.com/simondevyt 🌍 Live Demo + Courses: simondev.io
@Colonies_Dev28 күн бұрын
making the noise textures is my worse nightmare, either re-write all your shaders in C# and generate textures that come out weird- or use a compute shader that also fails ☠
@stephenkentperez77052 жыл бұрын
Triple A studio: We need realistic clouds for the games background. Game Dev team: Hold my beer's law.
@Roader_0212 жыл бұрын
you just hape to powder some beer's law
@Andrew90046zero2 жыл бұрын
Legit like XD People might not ever notice some of these cool details in big games. But this is what happens when a big company pays you like 100k per year and your job is to: "Add as much graphical realism as possible that the hardware allows" And all this knowledge you've built up over the years has finally come down to this point. And you know that you must make the best damn looking clouds possible, even if people won't notice it.
@verlax8956 Жыл бұрын
yea
@jari2018 Жыл бұрын
you only need a skybox like in old unreal games nothing more - since the lightning anyway always suck in modern games
@4.0.42 жыл бұрын
This gotta be one of your best videos. I can tell you did a lot of research, and it's so well presented!
@simondev7582 жыл бұрын
Thanks!
@ida_haida1580 Жыл бұрын
,0 vbm j1n😊😊
@mooooooooooooove2 жыл бұрын
The clouds in Microsoft Flight Simulator are so realistic that I was waiting for your take on them, but, in the end, this was a very informative video. Thank you
@Desopolis2 жыл бұрын
Flight simulator doesn't use volumetric clouds, it uses particle sprites of legit clouds. Essentially just transparent images layered really smoothly. The super close distance actually lets you get away with it
@joeysipos2 жыл бұрын
@@Desopolisyeah, this is actually how o do clouds in my game Glider Sim too. Much easier. In theory could have the sprites easily cast shadows as well.
@NikoKyunKyun Жыл бұрын
@@joeysipos not only it's easier, it's also more resource friendly in term of graphical power needed
@vegardpig8634 Жыл бұрын
@@Desopolis You sure? In game it says volumetric clouds and in their feature discovery series they refer to them as 3d fully volumetric clouds.
@jcsk8 Жыл бұрын
@@Desopolis I think MSFS 2020 uses volumetric clouds. That you said was used in earlier versions, such MSFS 2004 and MSFS FSX (10)
@To-mos2 жыл бұрын
Always loved volumetric smoke over billboard texture layers. Quake III: Arena in 1999 even had volumetric volumes for fog cubes. Well if I remember correctly it was more of planes and you had to tell the BSP compiler that the camera was going to be above or below the plane. It used normalized vector fog coordinates as texture coordinates in order to index a special fog texture which contains the fog density as opacity then it uses alpha blending in order to apply the fog to the fogged parts of the scene. Carmack is flippin' clever. Amazing explanation of new algorithms I always love keeping in the loop, Cook-torrence BRDF is cool but this is even cooler.
@simondev7582 жыл бұрын
Carmack is one of those "I can't believe how smart this guy is" kind of people
@dealloc2 жыл бұрын
Carmack is very smart indeed, but he didn't come up with the volumetric fog in Quake 3. Brian Hook did a lot of the work on shaders in Quake II and Quake III. I'm sure Carmack had some hand in it, but it was mostly pioneered by Brian Hook, who also presented the Quake 3 rendering architecture at GDC 1999. A lot of the early work was also done in Quake II, which was presented in SIGGRAPH Conference in 1998 by Brian Hook.
@justamanofculture12 Жыл бұрын
Absolutely insane comment right here brother. As a CS major i can say you explained the concept beautifully. Thank you.
@gevelegianАй бұрын
There's a video on KZbin about it. Q3A Volumetric Fog 1999
@bluecup252 жыл бұрын
It sounds as if man just got out of bed at 3AM and decided to make an excellent video on rendering clouds.
@designthings0012 жыл бұрын
You could also make a part 2, showing how the cloud shapes are formed.
@simondev7582 жыл бұрын
That'd be really interesting, I figured the weather system was a whole thing in itself and kinda ducked out heh
@cosmotect Жыл бұрын
I think this is basically the only video on youtube that goes into this much detail on volumetric raymarching. Bravo
@robertwyatt39122 жыл бұрын
The graphical presentation in your videos is amazing!!
@ardavanansari2 жыл бұрын
Raising the bar with each video. Your channel helps fill a big void in game development learning resources. Thank you
@devantetoppin7879 Жыл бұрын
Amazing video. Easy enough for the layman to understand but deep enough that if someone wants to attempt to implement this they definitely have enough to go off off and all inside of 10 minutes. That's real talent.
@simondev758 Жыл бұрын
Very cool, I was hoping to land somewhere in that zone.
@megahombre242 жыл бұрын
Videos like this one never fail to amaze me, well done!
@DogwafflDan2 жыл бұрын
Just the work involved in this presentation is pretty mind-blowing
@elganzandere2 жыл бұрын
Stumbled upon this video entirely by mistake. Instant subscription, Sir. This is precisely the sort of learning I've been pursuing, of late. Appreciate your efforts.
@chase_like_the_bank Жыл бұрын
Been so long since we've had a good shader KZbinr. Keep making these!
@stephenvanbellinghen93311 ай бұрын
Mind blowing this channel exists
@aliphian2 жыл бұрын
One of the few channels that I get notifications for and it never disappoints. Great video!
@Realghast152 жыл бұрын
The graphics so clean and beautiful
@DarkSwordsman2 жыл бұрын
Your channel is invaluable. Thank you for your work! Really excited to experiment with clouds again
@FromLake9 ай бұрын
Thank you for this video!
@simondev7589 ай бұрын
You're welcome!
@wesleydavis33872 жыл бұрын
Something to remember too is that clouds are never static. Cumulus will always be fed by rising air, so will have upward motion at the center. The cloud top for cumulus will change as the day goes on, because the rising air is going to keep warming the air at the inversion (where the temperature gradient changes from warming with height to cooling). If you’ve lived in the Midwest or south you’ve seen this effect. Patchwork clouds evenly distributed in the AM but they coalesce into thunderstorms by the afternoon. Stratus come from large air masses of different temp/humidity compositions and will more or less move as one. Their rain is more steady but with smaller droplets. Always love the videos.
@simondev7582 жыл бұрын
Great point! I didn't want to dive into creating the full blown weather system, maybe as a follow up some other time. They describe it in quite a bit of detail though.
@tristanmisja Жыл бұрын
I've been binge-watching your videos, and applying what I've learned to my projects, and I have to say, your content is amazing. You deserve way more subscribers.
@TheCompleteMental6 ай бұрын
I'd love to see, on future deep dives into the history and different approaches to rendering things like this, insight on the performance cost of each change
@z-beeblebrox2 жыл бұрын
Astonishing how much care and effort went into perfecting and optimizing volumetric clouds for the Frostbite Engine, whose games proceeded to use it for...the same shit they were using skyboxes for anyway.
@Suthriel2 жыл бұрын
Awesome breakdown :) However, looking at stormclouds, you probably don´t want half resolution, or lower res, you more likely want higher resolution for all the details, that are there. I guess, the higher contrast and rougher light situation in a storm makes those fine details way more visible than in your regular fair weather cloud. Maybe to realize that, it would be good to use some regular high res sprites/textures/particles at the edges to get all the crisp details, and the volumetric cloud for the insides and correct coloring and scattering. The sprites/particles then just would need to get their color info from the volumetric cloud area, they are in.
@romarbetc123 Жыл бұрын
As artist learning about how clouds work is pretty amazing
@GoldSrc_ Жыл бұрын
This presentation is amazing.
@mooncatcher_2 жыл бұрын
Incredibly inspirational and so easy to understand. Simply amazing.
@SirNightmareFuel2 жыл бұрын
Incredible presentation, impressive research. A+.
@fuzzyhenry20482 жыл бұрын
Why does it take so long for KZbin to recommend this treasure channel to me! Love your voice BTW
@simondev758 Жыл бұрын
Thanks :D
@Ecks11182 жыл бұрын
Incredible video. I've always been a big fan of artistic detail in games(not that I'm very good at it). A quick suggestion if you're fine with it would be a video on branchless programming, figured it might be cool.
@simondev7582 жыл бұрын
Branchless programming? I've kinda had a half-baked video plan about branching in general, might be good to fold into that
@kipchickensout2 жыл бұрын
Man this makes me wanna get a beer! Awesome video
@simondev7582 жыл бұрын
Way ahead of you!
@MysteryPancake2 жыл бұрын
Incredibly good visualisations, especially at the start :)
@irjayjay2 жыл бұрын
Super informative, especially since I've been struggling to make performant clouds my own way for a few weeks now.
@simondev7582 жыл бұрын
There's a lot more to be done here. When I have some time, I'll try out some of the other optimizations.
@robertwallace54982 жыл бұрын
You honestly put out the sickest content, I love it
@NathanHedglin2 жыл бұрын
Amazing as always. Thanks!
@TennessseTimmy2 жыл бұрын
I was configuring the clouds in Arma reforger and didn't know what some of the settings meant, this helped, thanks
@lunkums2 жыл бұрын
great explanation and love the look of the end product!
@stevethepocket9 ай бұрын
Insider did a two-part video a year or so ago listing off one new piece of tech that was introduced for each Pixar movie. For _The Good Dinosaur_ it was volumetric clouds. It's amazing how closely what's state of the art in games follows what's state of the art in CGI; I always figured it would be way behind because the CGI people have whole render farms at their disposal and can brute force everything, whereas games have to do the same thing in a fraction of a second.
@iaobardar3452 Жыл бұрын
This is a great video! I had my eye on the Guerilla games paper for a while but never figured out what their noise really did. I will need to go read the frostbite paper your mentioned. :) thanks!
@simondev758 Жыл бұрын
Here's the project the Frostbite team put together: github.com/sebh/TileableVolumeNoise that my code was based off of.
@bigkobelive Жыл бұрын
Just found this channel, love your videos!
@benruniko2 жыл бұрын
Subbed as soon as i realized what you were presenting and how. This is exactly the kind of thing I love learning about! Someday I will find a way to make this knowledge useful, but even if I cant, thank you so much for making this wonderful, educational presentation with such detail and research put into it, as well as the graphics generation!!!
@mushylog Жыл бұрын
I got interested in this technology after I played some Kerbal Space Program 2; the clouds are beautiful, this is so intriguing!
@Axeiaa2 жыл бұрын
I bet if we had beer's law clouds in real life rain would be something a lot of people would look forward to!
@simondev758 Жыл бұрын
Cloudy with a chance of stout
@cameronfisher1786 Жыл бұрын
If you want to check out implementing this into a game, Sebastian Lague used this technique in his "Geography Game"
@redsteph2 жыл бұрын
Amazing work and good explanations. Keep on going.
@nielsbishere2 жыл бұрын
Very underrated channel. Something else like you said at the end; a-svgf would probably be a good match for this, together with killing off samples more frequently if they are too dark (Russian roulette)
@ChronicWhale Жыл бұрын
I'd love to see one about water, rivers, oceans with waves, etc.
@ZooHair2 жыл бұрын
Very informative and awesome presentation
@crybirb2 жыл бұрын
Damn this video summed out something I've been reading about for so long. That's great thanks!
@LollyPoppi21 күн бұрын
I really want to understand all of this, but my brain is still in processing
@pitchblack54222 жыл бұрын
Wow your explanations are phenomenal!
@LittleBallOfPurr11 ай бұрын
This has really helped me understand why Volumetric Clouds tank the performance on Ark Survival Ascended so much, especially as you amp up the sample count. It does suffer with a major pixelation issue, that reduces as you increase the sample count, mostly going away by 512, though new formations still pixelate, unless you switch to Unreal Engine 5's VolumetricRenderTarget Mode 3.
@lemonke81322 жыл бұрын
this channel is so underrated
@visuallization Жыл бұрын
This looks so cool! Great work reconstructing this!
@Galakyllz2 жыл бұрын
This looks awesome! I can't wait to take a look at your code. Thank you for making this video.
@simondev758 Жыл бұрын
I posted it on Twitter.
@deerdev6511 Жыл бұрын
Wow, such a good job, just stumbled across your channel and I have to say this really reminds me of sebastian lague, overwhelmingly good job!
@johngrey5806 Жыл бұрын
Those final clouds look dope!
@Flinsch772 жыл бұрын
Very good video, thank you for this! I would love to see a similar video on real-time explosions and smoke. That would be much related to this topic. Keep up the good work!
@Memeieli Жыл бұрын
Amazing tutorial, learning about temporal techniques is something I'd love to see converted as its very popular these days.
@Michelcomin9 ай бұрын
That was an amazing well-explained video. Thank you!! 🙌
@efwfew2 жыл бұрын
Great video. Thank you, learned a lot. I was in charge of creating a cloud material within a game engine at my work, I.. didn't like it because there were few infos online (for a non programmer like me) this video explained perfectly clear
@artyomkazakov94142 жыл бұрын
That's amazing! I'm on my journey into programming, and your videos inspires me. Thank you
@stevphiericardo27902 жыл бұрын
You sir, deserves a medal.. I wish you a million of subscribers soon... what an underrated channel... thanks for the knowledge shared!
@RayznGames2 жыл бұрын
Really good job! Appreciate the effort of explaining everything in detail with amounts of video feedback! Keep it up!
@tokyospliff Жыл бұрын
Really great video man, keep it up, I learned a lot.
@foxy2348 Жыл бұрын
I just do it with one click in unreal. Great too see what kind of dedication lyes beind those things. respect!
@smallbluemachine2 жыл бұрын
Now this, is cloud computing.
@b4ph0m3tdk9 Жыл бұрын
Very interesting, and super illustrations!
@denizorsel10292 жыл бұрын
Simon, you are an amazing teacher.
@nazarremerchant2 жыл бұрын
Great video! Any chance you could link the papers you mention? Your videos are such an excellent instructional resource.
@simondev7582 жыл бұрын
Woops! Added them to the description
@nazarremerchant2 жыл бұрын
@@simondev758 Thanks!
@basgerrit9072 жыл бұрын
Very cool! Want to try it out myself now
@thebirdhasbeencharged2 жыл бұрын
This is amazing, Rayleigh next
@FinaISpartan2 жыл бұрын
Just wanted to add, by taking an integral of the density function, you can get a more accurate calculation of light / absorbtion.
Sometimes it feels like this channel is just made for me
@frederiklenk77562 жыл бұрын
I am not well versed in programming, but one thing I would have loved to try to program is how autumn leaves would look in games, with the brown colours that become super vibrant when backlit. Inspiration came from this video from posy: kzbin.info/www/bejne/mZrCi4algt9sosk
@simondev7582 жыл бұрын
Man, this video is mesmerizing.
@frederiklenk77562 жыл бұрын
@@simondev758 Right!? I recommend checking out his video titled "Hot Water Colors" as well. While not something that you'd really program (I think lol), it it sooo beautiful.
@mrjohncrumpton2 жыл бұрын
Interesting to hear what's happening behind the scenes. I've bought more than five cloud/sky assets for Unity and "Expanse" is the most realistic.
@UnderdogDen2 жыл бұрын
What a cloudy video (good stuff dude)!
@maya_gameworks2 жыл бұрын
Amazing analysis, ty!
@andyd8370 Жыл бұрын
Red Dead Redemption 2 also has fantastic clouds and weather.
@johnsmith5392 жыл бұрын
Beers law: when your glass is empty, fill it.
@juancruzrabaglia7222 жыл бұрын
This is great! I've actually just started working a week ago on trying to apply light effects into a volumetric cloud in threejs and i've been kind of lost, but i think this puts me on the right track!. I would love a tutorial on how to apply this with the threejs api.
@simondev758 Жыл бұрын
I just dropped the code on Twitter, and it's implemented in Three.js, so go nuts.
@juancruzrabaglia722 Жыл бұрын
@SimonDev man that's amazing, thank you so much! i'll be studying it in the following days for sure. Btw, I appreciate the amount of work you put on your videos, they are insanely good.
@enfieldli9296 Жыл бұрын
Now I finally understand why game dev is hard, you either have to be extremly good at either coding with math or art design...
@jsierra882 жыл бұрын
Love technical stuff like this. Thanks!
@holdenthompson14497 ай бұрын
I'm going to buy your Shader course, you seem to know what you're talking about!
@unfa002 жыл бұрын
For a technical artist like myself, this is not clouds. This is candy.
@simondev758 Жыл бұрын
I usually work with technical artists, like yourself, to prevent my programmer art from going out into the world.
@flynntaggart7216 Жыл бұрын
What do you mean by "technical"
@flynntaggart7216 Жыл бұрын
@tshrpl k
@TilDrill Жыл бұрын
really good video
@amritmahotsav3378 Жыл бұрын
Minecraft developers while developing clouds had a beer bottle with them rather than having beer's law in their notes
@simondev758 Жыл бұрын
I had both
@amritmahotsav3378 Жыл бұрын
@@simondev758 yeah that's good !
@VoidloniXaarii Жыл бұрын
Fantastic information, thanks a lot!
@rahulprasad23182 жыл бұрын
Can you provide the link to the noise video u mentioned at 6:41 pls
@simondev7582 жыл бұрын
kzbin.info/www/bejne/qXTLgnaal7GXfqc I was kinda joking around, it's my previous video.
@gordonbeeman5387 Жыл бұрын
Superb video, very interesting.
@kevinbeardslee7587 Жыл бұрын
Joni Mitchell would be proud! Nice work Simon.
@iamsunil212 жыл бұрын
awesome presentation, you are amazing, thanks!
@ruix2 жыл бұрын
its actually simple to implement. Amazing
@while.coyote Жыл бұрын
This stuff is so useful. Thanks!
@sanderbos42432 жыл бұрын
Loved this, thank you!
@AndreiTache2 жыл бұрын
Crazy how complicated something that seems so simple can actually be! In terms of optimisation, you could run the simulation at 1/4 the fps and it would probably look the same from farther away (while getting 4x the performance). I'm also wondering if there is a way to bake the result of the simulation and just refference that at runtime, instead of running the simulation itself. I guess the angle from the camera to the cloud couldn't change then, but if the clouds were only used as a skybox, that wouldn't be a deal breaker.
@simondev7582 жыл бұрын
Yeah I'd like to do something like that, amortizing the cost over multiple frames seems the way to go. In terms of baking, I think it's a tradeoff vs how dynamic you want to allow the scene to be.
@Desopolis2 жыл бұрын
So this is what the current standard actually does. SebastienH (wrote some of the initial papers, now works at Unreal) brought his Volumetric workflow from Frostbite into Unreal, and it was Referenced by Horizon Zero Dawn, which is like... The god reference these days.. First he spreads the cloud modeling and rendering across 9 frames, second, because he's on native he usually has access to hardware accelerated methods as well as bleeding edge pathtracing tools and techniques. The most common is to do 1/2 or even 1/4 scale or density (draw every 4th dot) and then using SUPER FAST or even the latest AI/Neural powered denoisers and upscalers (supersamplers) to get an amazing output 3. The sky is usually rendered on it's own dedicated render target, so it can be cached, LOD, frozen, etc etc. Most of the time it's dumped into a skybox like you mentioned but it can be blended with the main scene as well (Sea of Theives)
@illusionprods2 жыл бұрын
@@Desopolis One strategy is to create groups of squared pixels like 1 group would be 2x2 pixels and render them in 1 after the other each frame, and pushing the value of one rendered pixel onto the pixels of your group that haven't rendered yet. After 4 frame they're all rendered correctly, and you repeat this process overtime. This makes you render 1/4th the real screen size, but in the end you get an approximate result that is nice enough to not notice. The downside is fast movement, can cause discontinuity, but since clouds are in general big and not super precise down to the pixel, you don't see the downscale effect that much. This was explained in one of the many presentation about horizon zero dawn I think and it seemed to cutdown a lot of rendering time, without deminishing the result. Also, one developper that was making a jet sim had a strategy to bake the clouds by using signed distance field but the downside was that they couldn't update in realtime, so no weather changes were possible and the clouds couldn't move, although the visual results was amazingly good. Basically, all the data about the cloud would be written into a 3d texture containing the value of the signed distance to the nearest cloud, making it super quick to calculate information about how the ligting should apply. Name of the game is UHawk VR, he has a blog post about it if you search the web a bit, the article name is "Rendering volumetric clouds using signed distance fields"
@iLife64 Жыл бұрын
Mojang: just scatter some white pixels on a png and call it a day