Programming Perlin-like Noise (C++)

preview_player
Показать описание
NOTE! This is an approximation of Perlin Noise! :-S

Noise is at the root of most procedurally generated content. However, just choosing random numbers alone is insufficient. Perlin noise adds local coherence over different scales to generate natural looking formations, which can be further processed into assets for all sorts of algorithms and games. This video shows 1D and 2D Perlin noise being created and displayed at the command prompt.

Twitter: @javidx9
Twitch: javidx9
Рекомендации по теме
Комментарии
Автор

Before all the complaints start streaming in - I'm aware that this is more of an "approximation" to Perlin noise rather than defacto Perlin noise, however it shares the same periodicity and distribution properties. Instead of using dot products of gradients, The original noise map is used as a height map, through which gradient is implied via linear interpolation between neighbouring heights at different spatial scales.

javidx
Автор

I appreciate the void you fill in the youtube space for development tutorials, your explanations are excellent and have helpes me significantly in ways that channels like Brackeys are unable to. I see a lot of comments noting that the speed of your videos is too fast, I believe that there is a large community that will find your speed refreshing.

mime
Автор

This is genius. Whilst it isn't "true" perlin noise, it's damn close to it, and I'm sure you could use this to get practically the same results in nearly every project you could think of. Well done :P

avananana
Автор

You are a great teacher. Thank you for making these. I'm learning a lot.

remmo
Автор

I've been searching for this for so long! Everybody else just uses functions already implimented so I don't really learn how the perlin noise works. Thanks :)

olavman
Автор

that first picture of true random static was trippy. it started waving and flowing on me like one of those magic eye hidden image puzzles.

judgeomega
Автор

You make interesting and quality videos, hope your channel will grow soon

MB-rcie
Автор

I like that you used musical elements as an example; really helps me out.

benjamminholmes
Автор

The time passes so quickly when I watch your videos.

GregoryTheGrster
Автор

Thanks for the tutorial. I'm going to be implementing the 2D version of this algorithm into my game, Solar Lander.

TChapmanGaming
Автор

When writing/showing code, you could use the Alt+Shift+Enter shortcut to show code in fullscreen. It makes code much easier to visualize and follow up.

CharlesFerreira
Автор

After looking through papers and tutorials, i just couldnt get my head around it. thanks to this tutorial i implemented it & fully understand it. thanks alot

suffysbert
Автор

Hey javidx9! Can you do a tutorial about liquid simulation? I found that there arent any proper tutorial on how to do liquid simulation from scratch.

dorjderemnamsraijav
Автор

I think you just saved my weekend and semester project as my method was getting increasingly repetitive. Thank you very much!!!

leonardosabomisseni
Автор

I started learning C++ about a month ago, coming in with knowing matlab from engineering and C# from making a lot of little games in Unity. You are a blessing, because you explain the topic so well I could probably write the code myself.

yeeteronipizza
Автор

Omg, much respect to people who can code!

kevinsmith-dnpx
Автор

This was really useful for a fog effect I'm experimenting with. I put it into a header file as a couple classes.
Only problem is I want the clouds to change over time, and for that I'd need noise with a 3 dimensional input. I've tried figuring it out myself, expanding on the 2D noise, but it seems I'm too stupid for it.

Edit: nevermind, got it working... to an extent.

philiphanhurst
Автор

I rellay like the idea of explaining this. I literally won't use anything unless I understand how it works. It just feels wrong to me. Any wathincg this was faster than figuring it out myself.

thyandyr
Автор

brilliant video, clear explanation of an abstract concept then an implementation to demonstrate

roganjosh
Автор

Another way of linear interpolation is ((nSample2 - nSample1) * fBlend) + nSample1
I code in Scratch (because I'm too lazy to learn Java, C++, python or literally anything else) and this helped me create some code that can create a map using your "Perlin noise." It may not be true Perlin noise, but it does the same job and works very similarly. Thanks!

austin