Simple Fractal rendering

  Рет қаралды 132,097

Pezzza's Work

Pezzza's Work

Жыл бұрын

Github of the project github.com/johnBuffer/JuliaRe...
Made using C++ and SFML

Пікірлер: 341
@OlofNisshagen
@OlofNisshagen Жыл бұрын
You're like a more math-focused Sebastian Lague, great content!
@Breuhh
@Breuhh Жыл бұрын
Exactly
@neon_Nomad
@neon_Nomad Жыл бұрын
Fractal worlds?
@user-cx6ec2kp6u
@user-cx6ec2kp6u Жыл бұрын
If we are already comparing I like this channel better! CPP and sdl all the way!
@EpicVideoGamer7771
@EpicVideoGamer7771 Жыл бұрын
@@user-cx6ec2kp6u SFML not SDL
@duality4y
@duality4y Жыл бұрын
100%
@owlroseproductions8876
@owlroseproductions8876 Жыл бұрын
You are a gem in the programming space of KZfaq. You've inspired a lot of other successful programmers on here and also me (just as a hobbyist, but still). Keep making what you love and we'll love it
@spaztor7723
@spaztor7723 Жыл бұрын
where does an idiot such as myself begin in making somthing like this, a hobby??
@owlroseproductions8876
@owlroseproductions8876 Жыл бұрын
@@spaztor7723 well, as a starter for visualizations like this I recommend processing/p5.js. it's not the fastest, the sturdiest or prettiest, but the ease of use is unparalleled. I have spent countless hours in it and I've loved every second
@Jake_Gotthard
@Jake_Gotthard 8 ай бұрын
@@spaztor7723i dont even know what “constant;” does but i have adhd, autism, the determination of someone trying undertale for the 1st time and doing true genocide, an ungodly amount of love for cool stuff like fractals, a BEAST of a computer and i am going to do this.
@thecakeredux
@thecakeredux Жыл бұрын
Writing a fractal render was one of my favorite projects of all times. I hope you making this as accessible as you did with this video opens allows others to experience the awe when their code creates beauty in front of their eyes.
@karolciszek8550
@karolciszek8550 Жыл бұрын
That zoom with the music was just magical
@_miobrot_603
@_miobrot_603 Жыл бұрын
In a highschool programming class right now, and seeing this has raised motivation to the max. Still going over the basics (in python), but one day I will make something like this. Thank you Pezzza for the inspiration and I hope my comment is meaningful in some way.
@therealsemechki
@therealsemechki Жыл бұрын
Good luck on your journey! If I were to make a suggestion, use a language that supports multithreading, like C++! Or, you could learn a shader language🙂 (GPUs aren't *quite* as bad at using double-precision as it might sound, although they are still pretty slow at it. There are techniques to mitigate this, though!)
@karolciszek8550
@karolciszek8550 Жыл бұрын
You could absolutely plot a Julia set like this in Python. It would be a great project for a high school student. Good luck.
@blaze_arch6864
@blaze_arch6864 Жыл бұрын
Try Nim language Nim has syntax of Python And speed of C
@josephastier7421
@josephastier7421 Жыл бұрын
Go for it! The output of these fractal images looks really complex, but the math is simple. Some of the biggest bang for the buck is to be had displaying a color palette instead of a grayscale gradient. Then your renders will come to life.
@chochochon5464
@chochochon5464 Жыл бұрын
Since I was a kid, I've been fascinated by the fractals... I could spend HOURS watching zooming videos about fractals XD
@mmd-wt5eq
@mmd-wt5eq Жыл бұрын
The more fascinating thing is your video. Thanks so much for you awesome content.
@PezzzasWork
@PezzzasWork Жыл бұрын
Thank you!
@jaydevsr2536
@jaydevsr2536 Жыл бұрын
Your videos are always inspiring. I remember the time I was myself trying to render Julia sets, I was really happy to see the results. I hope other people try this as well as this is very rewarding!
@fabienherry6690
@fabienherry6690 Жыл бұрын
That is fascinating to watch ! I love how the background of the fractal is still indicating some sort of position despite the infinite similarity
@brayden1562
@brayden1562 Жыл бұрын
Came for the programming. Stayed for the existential crisis.
@2_Elliot
@2_Elliot Жыл бұрын
Criminally underrated, your content always amazes me in its complex simplicity. Keep it up!
@ajs1998
@ajs1998 Жыл бұрын
I love this, man. Programming is the coolest hobby ever and I'm so happy to be here. Awesome video, keep it up!
@kubstoff1418
@kubstoff1418 Жыл бұрын
That was a very intriguing dive into the subject, whenever you post something I'm immediately hooked to try that myself. Great Work as always!
@jonasdaverio9369
@jonasdaverio9369 Жыл бұрын
If you want arbitrary precision while using your GPU, you can use perturbative techniques by computing only a few points with high precision on your CPU, and then computing all other points in low precision on the GPU. Choosing the points is tricky, though
@AiRde
@AiRde Жыл бұрын
Yes this is the methode use by Kalles Fraktaler, an amazing fracal render
@jonasdaverio9369
@jonasdaverio9369 Жыл бұрын
@@AiRde I once tried to implement but the result was awful and glitchy. I would really have to make something smarter to pick the point.
@thingthingthingthingthingthing
@thingthingthingthingthingthing 18 күн бұрын
I used that for rendering Mandelbrot set, but only the center part which takes the most time
@dasjulian3
@dasjulian3 Жыл бұрын
Fractals are quite nice.
@stchannel3648
@stchannel3648 Жыл бұрын
Yes.
@PezzzasWork
@PezzzasWork Жыл бұрын
For sure
@dacolib
@dacolib Жыл бұрын
Definitely
@marcusmelander8055
@marcusmelander8055 Жыл бұрын
Indeed.
@stevenbmeza
@stevenbmeza Жыл бұрын
absolutely
@JohnR436
@JohnR436 Жыл бұрын
I love this!!! Great videos. Love the easy to follow code examples & visual output (like the multithreaded rendering), very cool!
@hippopotamus86
@hippopotamus86 Жыл бұрын
Perfect. Love your work.
@crakhaed
@crakhaed Жыл бұрын
Very beautiful video! All the aspects were so well done. Especially underrated is the sound mixing and the music that follows the camera down at the end. Thank you very much for making this! For 11 minutes of watch time it probably took much longer than that to make and produce. I appreciate the time and effort you took.
@Graverman
@Graverman Жыл бұрын
love this content! Keep improving and it’ll be amazing. Also love when you show all the optimizations you’ve made and their downsides
@Ener-G
@Ener-G 4 ай бұрын
Thank you so much for this! I'm in a rush but I wanted to express that your simple, straightforward explanation and approach to fractal rendering has opened my mind to the possibility of doing something similar myself! I've been hoping for this knowledge for a long time. Thank you so much for creating this video as a vessel by which I can begin my journey of understanding!
@doggo9757
@doggo9757 Жыл бұрын
Came across this channel a few days ago, and I must say this is one of the best channels for programming and math. I have an exam, after that, I plan to binge watch all you videos. The Cool Chicken is a very cool guy.
@tonyb5536
@tonyb5536 6 ай бұрын
This is one of the coolest things I have ever seen.
@84homey
@84homey 8 ай бұрын
Beautiful fractals. Beautiful numbers.
@QuentinVaresano
@QuentinVaresano Жыл бұрын
Your videos go better and better, please never end
@sickbale
@sickbale Жыл бұрын
That's pure madness. I love it.
@DRUYD
@DRUYD Жыл бұрын
wonderful content as always, is so well explained it seems super easy, barely an inconvenience.
@bergolho
@bergolho Жыл бұрын
Congratulations on this awesome video man!
@crackedemerald4930
@crackedemerald4930 Жыл бұрын
Because of the way our brain processes grays, the fractal had a lot of detail on the borders of the greys that made them very interesting.
@firkinflamer8604
@firkinflamer8604 Жыл бұрын
My favorite channel. Every video you post makes me at least raise my eyebrows
@raushankumar2336
@raushankumar2336 Жыл бұрын
This is absolutely dope👌
@saniancreations
@saniancreations Жыл бұрын
You really had me for a second there with the logo showing up at the end.
@PezzzasWork
@PezzzasWork Жыл бұрын
:D
@olbluelips
@olbluelips Жыл бұрын
I never get tired of fractals!
@tm001
@tm001 Жыл бұрын
The one thing that keeps blowing my mind every time in his videos is how he can optimize the shit out of the rendering time with just "simple" logic and few lines of code, and then he basically says "I can optimize it even more but I don't want to" 😎
@absence9443
@absence9443 Жыл бұрын
Definitely need more simplified coding channels like these!
@mayankthakur2158
@mayankthakur2158 Жыл бұрын
absolutely amazing video, very cool stuff !!!❤️
@doolee5704
@doolee5704 Жыл бұрын
I love your content, please keep them coming!!!
@CelestialityRW
@CelestialityRW Жыл бұрын
Videos like this make me want to learn C#
@Maus_Indahaus
@Maus_Indahaus Жыл бұрын
The only thing missing from this masterpiece is a quick zooming out at the end to show everything in its full glory
@Micro-Moo
@Micro-Moo 5 ай бұрын
It is a really nice idea to perform the sub-pixel computations.
@pauls5745
@pauls5745 Жыл бұрын
mesmerizing!
@Msatthew
@Msatthew Жыл бұрын
Well, that last bit was existentially terrifying. Bravo!
@eugienepeters1608
@eugienepeters1608 Жыл бұрын
Thank you so much for making this video. I was always interested in making a fractal render but just didnt know what to do or the steps involved, I felt paralysed. This was really helpful. I need to learn to problem solve on my own too without being baby fed :)
@Syp64
@Syp64 Жыл бұрын
Thanks for sharing this. Hope this inspires future talent!
@RayznGames
@RayznGames Жыл бұрын
I'm amazed about how far double precision goes In comparison to float. Great content!
@spudd86
@spudd86 Жыл бұрын
I have written a program that renders Julia Sets by using texture mapping to do the inverse iteration method. Basically if you compute the inverse of the function and map the entire plane backwards it will eventually converge to the Julia Set. I'm using this for a music visualizer so we blend the frames together and the Julia Set emerges as the points with colour. I have video of it running. I blends a sort of oscilloscope visualization on top of the frame and then uses that as input to do the Julia Set inverse iteration in the next frame. You can see how the copies of the scope shrink and copy around to build up the shape of the set. The nice thing about doing the inverse iteration with texture mapping is that you *actually* compute the forward function to determine the source pixel for the texture map operation, the texture mapping to the output effectively makes it doing the inverse. The other nice thing about this is that precision isn't really critical and GPUs are REALLY good at texture mapping. I have written the same thing for both CPU and GPU (via OpenGL 2.1, so it runs on a potato), can't do a zoom though, the algorithm requires you to keep an image of the entire circle that the Julia Set might be in (that is the same circle you use as the escape radius). I have explained this poorly I know. Video of it running: kzfaq.info/get/bejne/hqphjc-cs8ybd4U.html It's open source so code is at: github.com/Spudd86/julia-vis
@jonasdaverio9369
@jonasdaverio9369 Жыл бұрын
Oh, you didn't write in Julia... What a missed opportunity :p
@spudd86
@spudd86 Жыл бұрын
@@jonasdaverio9369 Julia didn't exist when I started...
@Tann114
@Tann114 Жыл бұрын
Excellent as always Pezzza! Amazing coincidence that there's a chicken in the fractal too.
@PezzzasWork
@PezzzasWork Жыл бұрын
Yes I was very surprised myself !!
@IncroyablesExperiences
@IncroyablesExperiences Жыл бұрын
Toujours aussi intéressant 😉
@SoDamnMetal
@SoDamnMetal Жыл бұрын
Ooo pretty colors!
@Analog_isnt_dead
@Analog_isnt_dead Жыл бұрын
This is so awesome
@tirterra1222
@tirterra1222 Жыл бұрын
Magnifique !
@mathman0569
@mathman0569 Жыл бұрын
I love your content I hope you get more subs and such and I hope to watch your wonderful channel grow
@PezzzasWork
@PezzzasWork Жыл бұрын
Thank you! I’ll do my best :)
@ruthvikas
@ruthvikas Жыл бұрын
Really amazing work. 👏
@valv_
@valv_ Жыл бұрын
Great as always !
@AbsolutelyPlasmadic
@AbsolutelyPlasmadic Жыл бұрын
i just wanted to let u know that u have my sub :) cause i really liked ur ants and stuff :)) thank u for ur continued dedication to the cause :)))
@teebs2721
@teebs2721 Жыл бұрын
i love when you upload!
@kalelsoffspring
@kalelsoffspring Жыл бұрын
I've always seen Mandelbrot used for these types of videos, very neat to see another type used. The difference in where the pixel coordinates go in the looping equation seems to be the only real difference, being C for Mandelbrot, and Z_0 for this. Very nice video
@tjavado
@tjavado Жыл бұрын
this is actually a julia set of the mandelbrot iirc
@kalelsoffspring
@kalelsoffspring Жыл бұрын
@@tjavado yeah, that's what was said in the video, I just thought it was a nice alternative. Tbh I probably would've clicked off if it was Mandelbrot again :P
@curiouspers
@curiouspers Жыл бұрын
this is really cool! Thank you!
@JakeSeeber
@JakeSeeber Жыл бұрын
Beautiful work, thank you for the video pezzza
@novygaming5713
@novygaming5713 Жыл бұрын
There's another cool fractal you can make called the mandelbrot set using the same equation. You're currently rendering julia sets. For julia sets, you set c to a fixed position on the plane while changing z for every pixel. Instead for the mandelbrot set, you just set c so it also changes with z. I personally think the mandelbrot set looks way better than the julia sets since it's a combination of all possible julia sets for every pixel.
@crakhaed
@crakhaed Жыл бұрын
Lol I thought this was a mandelbrot set until this comment 😂 ty for teaching
@omegahaifoleet
@omegahaifoleet Жыл бұрын
Amazing video and channel!!! Thanks!!
@wallywutsizface6346
@wallywutsizface6346 Жыл бұрын
The fractals here are Julia Sets. If anyone following along wants to generate the Mandelbrot set instead, it’s quite easy. Instead of an arbitrary C value, for each pixel, set C equal to the complex coordinate of that pixel. So, instead of Z(n+1) = Z(n)^2 + C, replace C with Z(0).
@doom5747
@doom5747 Ай бұрын
looking at this video motivated me to give this a try in python, fractals are just amazing....
@puddleglum5610
@puddleglum5610 Жыл бұрын
You can also pull out an extra 4x to 8x performance (depending on your cpu) by using SIMD instructions instead of your normal floating point math. It’s a lot of effort to manually code with SIMD instructions, but worth it for the better perf.
@Henrix1998
@Henrix1998 Жыл бұрын
There's some compiler flags that probably could make use of SIMD without any extra effort
@puddleglum5610
@puddleglum5610 Жыл бұрын
@@Henrix1998 unfortunately, its too complex for compilers to translate into SIMD instructions as you have to change the code logic quite a bit from regular Mandelbrot code in order to make full use of the SIMD instructions
@user-sl6gn1ss8p
@user-sl6gn1ss8p Жыл бұрын
@@puddleglum5610 Maybe by creating a "computeNextFor8pixels" which does just that (taking also 8 times the input and returning a struct or something like that), and turning optimizations up? I've had good luck doing that with random number generators (like pcg64), don't see why this should be any harder for the compiler.
@INT41O
@INT41O Жыл бұрын
@@user-sl6gn1ss8p Just use SSE/AVX intrinsics, not too complicated in this case. If you have to rewrite the code just for the compiler to better optimize, you might as well optimize it manually.
@user-sl6gn1ss8p
@user-sl6gn1ss8p Жыл бұрын
@@INT41O fair enough, I'll look into it
@novygaming5713
@novygaming5713 Жыл бұрын
A quick tip for getting more detail in the fractal: instead of making the gradient have more range, you can just use a mod function or a sin function to color it based on the iteration count. Kind of like how Wikipedia does it.
@zekecochran2695
@zekecochran2695 Жыл бұрын
Incredible 😮‍💨
@blupblupking
@blupblupking Жыл бұрын
j'adore tes vidéos mec continue
@NIGGAKILLA2009
@NIGGAKILLA2009 Жыл бұрын
that's incredible
@AlleBalle54
@AlleBalle54 Жыл бұрын
nicely done, very interesting
@guigazalu
@guigazalu Жыл бұрын
I love how the video takes it's time at around 1:25.
@zelimirfedoran9720
@zelimirfedoran9720 Жыл бұрын
Awesome! I’d love to see this in 3d next 😅
@killyGHILLIE
@killyGHILLIE 7 ай бұрын
This is cool god teir maths. I wish I listened more in school and now I need to become a computer programmer!
@phpART
@phpART Жыл бұрын
absolutely epic
@matiaslehtinen3941
@matiaslehtinen3941 Жыл бұрын
Great content, keep it up mate!
@nauotit577
@nauotit577 Жыл бұрын
incroyable !!! vraiment impressionant
@PezzzasWork
@PezzzasWork Жыл бұрын
Merci !
@vitalys5076
@vitalys5076 Жыл бұрын
After watching the video this comment section is continuously zooming out for me. My eyes and brain can't keep up with fractals!
@thebeckett2814
@thebeckett2814 Жыл бұрын
bro you are amazing
@punk3900
@punk3900 3 ай бұрын
magic! thank you!
@fabianportero3563
@fabianportero3563 Жыл бұрын
This is amazing, thanks! more about fractals in graphics please
@travisc8406
@travisc8406 Жыл бұрын
Awesome video! 👍
@PezzzasWork
@PezzzasWork Жыл бұрын
Sorry for my late reply, didn't see your comment! Thank you very much for your support!
@Octo_Fractalis
@Octo_Fractalis Жыл бұрын
Amazing ❤️👏👏👏
@AlexanderDiaz-kp5jt
@AlexanderDiaz-kp5jt Жыл бұрын
You are amazing 👏👏👏
@brynshannon6692
@brynshannon6692 Жыл бұрын
the infinity of cosmic shrimp
@imnotjesper
@imnotjesper Жыл бұрын
I think basically everyone here knows about the Mandelbrot set and Julia sets, but those who don't should check out Numberphile's video about it with Ben Sparks. It's amazing.
@thatprogramer
@thatprogramer Жыл бұрын
Your really good at making simulations! I have a suggestion. You should try making a simulation like the powder toy "TPT" for short but in 3D! That would be pretty cool.
@Pyrografpl
@Pyrografpl Жыл бұрын
Nice! I always wanted to code my own fractal diver
@Pyrografpl
@Pyrografpl Жыл бұрын
You inspired me that much so I just finished my Julia explorer in C++SDL. It is 1am 😅 with 16 threads on my i7 6gen it is not super fast. I have idea of caching images and showing them until next frame is finished being rendered. Bit it wont help with animated fractals.
@shadow-ht5gk
@shadow-ht5gk Жыл бұрын
Your English has improved so much since the phalanx video
@enzoharquin1543
@enzoharquin1543 Жыл бұрын
Ohhhh cet accent Français je reconnais :) Nice work Pezza !!
@blumbomium
@blumbomium Жыл бұрын
Might have been the quickest 11 minutes of my life
@guigazalu
@guigazalu Жыл бұрын
OBS video transition examples while explaining the Xaos method? So cool!
@cmilkau
@cmilkau Жыл бұрын
Got a loading spinner right at the RIP float moment, which was quite funny xD
@Dricou61
@Dricou61 9 ай бұрын
It could be so fun to build a game in which you control a character that coule navigate into fractale structures
@MxMxffin
@MxMxffin Жыл бұрын
i made a program in 9th grade creating the mandelbrot set using 255 iterations. it had terrible performance but i liked it. made it with turbo pascal back then
@krovvl13
@krovvl13 4 ай бұрын
Coule be awsome to see the whole process from code to how to different ways it on screen and different environments
@OppressedSince1997
@OppressedSince1997 Жыл бұрын
nice video i wish you would have talked about the fact that there was colour banding tho because only 8 bits per channel were used instead of 10 or higher
@BuffRobotiX
@BuffRobotiX Жыл бұрын
This is a great example of why double precision is overkill for most applications.
@zetmor1337
@zetmor1337 Жыл бұрын
You can use that "smooth_iteration" as an elevation, and render it in (false) 3D
@groverkiinmuppetborn714
@groverkiinmuppetborn714 Жыл бұрын
Thanks! I can now make my own memetic agent
@crakhaed
@crakhaed Жыл бұрын
Just wanted to say, incredible username and good luck
@specific-solutions
@specific-solutions Жыл бұрын
Have you looked into using perturbation to eliminate the float issue? I was able to build simple cpu and gpu renderers, but was not able to follow the perturbed maths to get that buttery smooth deep rendering
@WorldWeaver
@WorldWeaver Жыл бұрын
Kid: "What if it's made of dragons? And the dragons are made of even SMALLER dragons? And those are made of even SMALLER dragons? And it's just that, forever?" Parent: "Fractal." Kid: :O I think we've all asked the "what if it's made of more of it" question before.
@BarneyCodes
@BarneyCodes Жыл бұрын
Great video! I've made a fractal renderer using a shader in WEBGL (there's a video on my channel if you're interested) and ran into the same issue of not having double precision, I'd love to find a way around this. I haven't tried animating my fractals yet! I'll have to try it, thanks for the inspiration!
@kaiprzadka6896
@kaiprzadka6896 Жыл бұрын
Is there anything like fixed precision? (Python for instance has the decimals module for that)
@BarneyCodes
@BarneyCodes Жыл бұрын
@@kaiprzadka6896 Not as far as I can tell. Since I made mine with JavaScript, and therefore WebGL, the specification for GLSL is pretty bare bones (it's not even required by the spec to have high-precision floats!). I'll have to look into it further though, thanks for the lead!
@ladyravendale1
@ladyravendale1 Жыл бұрын
@@BarneyCodesMy first instinct is to preform some terrible bodging with frankensteined ints or arrays to make a very slow but functional high precision number.
@BarneyCodes
@BarneyCodes Жыл бұрын
@@ladyravendale1 I had wondered about trying that too, even just somehow trying to use two floats for each number (two floats == double precision right??).. Haven't actually attempted it though. Let me know if you give it a go!
@ladyravendale1
@ladyravendale1 Жыл бұрын
@@BarneyCodes I most likely wouldn’t use two floats, instead just a bunch of ints. I can’t really imagine how you would string together floats for higher precision since by nature the decimal point floats, and since you would have 2+ I don’t really see how that would work. A big issue with most non int numerical classes in JS type languages is a lack of easy bit manipulation/reading. At least to my mind it would be far easier to use 1 int as an x bit mantissa, then however many more ints as the actual value. Write some bastardized version of the normal float implementation, treating your ints as registers, and there you go.
How to train simple AIs to balance a double pendulum
24:59
Pezzza's Work
Рет қаралды 203 М.
Fractals are typically not self-similar
21:36
3Blue1Brown
Рет қаралды 3,9 МЛН
Зачем он туда залез?
00:25
Vlad Samokatchik
Рет қаралды 3,2 МЛН
39kgのガリガリが踊る絵文字ダンス/39kg boney emoji dance#dance #ダンス #にんげんっていいな
00:16
💀Skeleton Ninja🥷【にんげんっていいなチャンネル】
Рет қаралды 8 МЛН
Coding Adventure: Ant and Slime Simulations
17:54
Sebastian Lague
Рет қаралды 1,8 МЛН
Turning Math Into Art With Beautiful Fractals
8:45
Numb3r Tr33
Рет қаралды 250 М.
Turning bugs into Art
7:43
Pezzza's Work
Рет қаралды 194 М.
The Mandelbrot Set
15:30
D!NG
Рет қаралды 1,9 МЛН
I Made a Graph of Wikipedia... This Is What I Found
19:44
adumb
Рет қаралды 2,6 МЛН
Training an unbeatable AI in Trackmania
20:41
Yosh
Рет қаралды 13 МЛН
Better Mountain Generators That Aren't Perlin Noise or Erosion
18:09
Josh's Channel
Рет қаралды 330 М.
How to Generate Fractals? ❄️ (in French but subtitles)
18:30
DIMENSION CODE
Рет қаралды 71 М.
AIs learn to WALK
20:21
Pezzza's Work
Рет қаралды 55 М.
КРУТОЙ ТЕЛЕФОН
0:16
KINO KAIF
Рет қаралды 6 МЛН