Coding Adventure: Ray Marching

Поделиться
HTML-код
  • Опубликовано: 7 ноя 2024

Комментарии • 916

  • @SebastianLague
    @SebastianLague  5 лет назад +814

    Hi everyone :) Not sure if this was clear from the first video, so to preempt any possible confusion about how this episode connects to the hydraulic erosion one -- it doesn't! The plan for this series is just to explore a variety of topics as I discover/become interested in them. So while I'll definitely be returning to the erosion project, there'll probably be a bunch of random stuff before then.
    With that said, I hope you enjoy the video!
    And as always, links to my project files, as well as the resources I used to learn about this stuff are all in the description.

    • @junpeiiori4720
      @junpeiiori4720 5 лет назад +7

      S'all good, man! you can make a video on any topic and it'll still be a joy ride.

    • @SliphRahl
      @SliphRahl 5 лет назад

      I'd be intrested to see more about the erosion project. Might be interesting if it worked toghetter with the Procedural landmass generation in some way.

    • @HadiExtreme
      @HadiExtreme 5 лет назад +1

      Ray marching is super interesting! As is this series. I've learned a lot from you over the years, so thank you mate. I also had a ton of fun working on a fork of the Path Creator project 2 months ago, check it out if you have some time :)

    • @collinpearce310
      @collinpearce310 5 лет назад +1

      Is there any chance you'll finish the ai series? The start of it was really great!

    • @tomasdougan1419
      @tomasdougan1419 5 лет назад

      What you are doing with this series is fantastic, intuitive, and very entertaining. I love the improvisational nature of it where any given episode isn't related necessarily to the last. With each release, I find myself enthralled in your new project and in admiration of your curiosity. Keep up the incredible work! And thank you!

  • @monochr0m
    @monochr0m 5 лет назад +3652

    That pythagoras animation had me in tears

    • @erichlof
      @erichlof 5 лет назад +58

      I actually LOL'd, which I rarely do

    • @adamprice4658
      @adamprice4658 5 лет назад +107

      Pythagoras, the master programmer.

    • @Skyefaux
      @Skyefaux 5 лет назад +8

      same lol

    • @pushqrdx
      @pushqrdx 5 лет назад +11

      me too 😂 didn't see that coming

    • @Definitely_a_Fox
      @Definitely_a_Fox 5 лет назад +22

      Slap slap

  • @CodeParade
    @CodeParade 5 лет назад +1678

    Your visuals are so nice looking! I'm interested to see what else you do with ray marching :)

    • @SebastianLague
      @SebastianLague  5 лет назад +279

      Thanks, means a lot coming from you! I’ve had so many people recommending your videos in the comments, and I can see why - your work is incredible.

    • @randomsnow6510
      @randomsnow6510 5 лет назад +13

      Hello cp! Btw your non euclidean engine could of been done in quake live since that game has seamless portals.

    • @isaacspiegel2395
      @isaacspiegel2395 5 лет назад +7

      It would look so good in marble marcher👀

    • @lucywucyyy
      @lucywucyyy 4 года назад +3

      hello code parade i was just thinking of you for some reason lol

    • @samuelthecamel
      @samuelthecamel 3 года назад +1

      Aren't you the guy who made an entire game out of ray-marching fractals?

  • @BlukBlukGames
    @BlukBlukGames 5 лет назад +760

    I really like this format of videos. As usual awesome

  • @RoySchl
    @RoySchl 5 лет назад +194

    those 2d visualizations showing how the algorithms work are awesome. (the rest of the video too)

  • @slavcabbage2619
    @slavcabbage2619 3 года назад +50

    Sebastian Lague has to be my favorite coding youtuber. Its just the fact that all of his coding adventures are so interesting, entertaining, and most importantly inspiring.

  • @Jabrils
    @Jabrils 5 лет назад +499

    Seb I watched the entire video with my jaw dropped because I have no idea what the hell you're doing. You've truly transcended into Ultra Instinct. Proud of you man 😭
    also, request: can you visualize 3D ray marching like you did 2d?

    • @anujv2909
      @anujv2909 5 лет назад +6

      Hello jabrils

    • @SebastianLague
      @SebastianLague  5 лет назад +110

      Thanks :D
      Had a quick go at your request. It's a little ugly, but take a look here ruclips.net/video/0J8tKGjEE5Q/видео.html

    • @djobbo
      @djobbo 5 лет назад +2

      @@SebastianLague wow that's awesome

    • @manualvarado2212
      @manualvarado2212 5 лет назад +3

      Love to see you here Jab!

    • @DoomRater
      @DoomRater 4 года назад

      Hey don't feel too bad, while I get a lot of these "free" calculations and renders are the result of caching the results of the technique and then coding stuff with those cached results, I can't visualise the actual code using those cached results in my own head.

  • @jordananderson2728
    @jordananderson2728 5 лет назад +522

    4:30
    "Dormammu, I've come to bargain!"

    • @parker9163
      @parker9163 5 лет назад +14

      Exactly what it reminded me off

    • @ccricers
      @ccricers 4 года назад +13

      I wonder just how many particle and smoke effects in VFX for movies are based off fractals.

    • @ugur5721
      @ugur5721 4 года назад +3

      @@ccricers I wonder are they writing codes when making CGI.

    • @NStripleseven
      @NStripleseven 3 года назад

      Lol

    • @pinkajou656
      @pinkajou656 3 года назад +1

      HA

  • @liaia7375
    @liaia7375 5 лет назад +294

    I don't understand anything in this video
    But still enjoy it

  • @bjarnes.4423
    @bjarnes.4423 5 лет назад +71

    This format made me activate the bell. Keep up the good work!

  • @TranceDaNight8
    @TranceDaNight8 5 лет назад +21

    Some technique like this one was used on the movie “Annihilation” for the alien life form, pretty spectacular

  • @jonathanravenhilllloyd2070
    @jonathanravenhilllloyd2070 5 лет назад +44

    It feels so good to hear you say "I have no idea how the code works, but..." :D

  • @kristinawaldt
    @kristinawaldt 5 лет назад +7

    Your videos are amazing-the visualisations are so clear and easy to understand!
    Thank you for sharing this with us, it's very helpful and inspiring.

  • @momoaraki7934
    @momoaraki7934 3 года назад

    You are amazing teacher. I love how you focus on foundational functions to express conditional intersections and blends!

  • @marty34534
    @marty34534 5 лет назад +3

    Absolutely mind boggling! This kinda reminded me of old-school CSG in raytracing

  • @ValemVR
    @ValemVR 5 лет назад +3

    This is so cool to render boolean surfaces at real time ! Loved it !

  • @Jejkobbb
    @Jejkobbb 5 лет назад +34

    Thats so fucking cool. And I agree that object blending is satisfying as hell. Keep up these amazing videos

    • @SpaceKebab
      @SpaceKebab 2 года назад

      object blending would be so useful for blending meshes!

  • @TaarLps
    @TaarLps 4 года назад

    I come back to this video and the one about marching cubes so often. I just love it.

  • @mikaxms
    @mikaxms 5 лет назад +6

    That 2D sphere tracing looks so awesome!

  • @Hyuts
    @Hyuts 4 года назад +1

    Thank you for being such an amazing and generous person Sebastian!! The world needs more people like you.

  • @xd123_
    @xd123_ 5 лет назад +21

    4:23 rgb version of what you see when you press down on your eyeballs

  • @jaugretler9140
    @jaugretler9140 2 года назад

    Beautiful. Especially the visualisation of the Mandelbrot bulb has some otherworldly beauty to it

  • @zumpiez
    @zumpiez 5 лет назад +228

    Ahh, I see you have discovered the special effects from Annihilation

    • @ben_burnes
      @ben_burnes 5 лет назад +18

      Was definitely my first thought too; was such a cool effect.

    • @Zi7ar21
      @Zi7ar21 3 года назад +2

      What do you mean

    • @ShimrraJamaane
      @ShimrraJamaane 3 года назад +2

      @@Zi7ar21 The movie Annihilation. The alien object looks almost exactly like the mandelbulb.

    • @Zi7ar21
      @Zi7ar21 3 года назад +4

      @@ShimrraJamaane I just searched for the scene and it appears that it is indeed a mandelbulb, with some transformations applied to it

    • @ShimrraJamaane
      @ShimrraJamaane 3 года назад +3

      @@Zi7ar21 I'm glad I now know the name for what that thing is. I want to render an hour long version of that and use it for my Zoom background :)

  • @Vr0sen
    @Vr0sen 5 лет назад

    By far the most easily understood Ray Marching video I've seen! I love the was you showcase code examples in a non-intrusive way, but still enough to get a basic understanding,

  • @soumyajitkushari675
    @soumyajitkushari675 4 года назад +47

    4:30 this looks like the extra terrestrial being from Annihilation

    • @RegahP
      @RegahP 4 года назад +1

      It does! That movie was awesome

    • @laurentrinks1111
      @laurentrinks1111 4 года назад +2

      I was looking for this comment! I know the visual person or whoever made a lot of the shapes very mathematical. Like the flowers and the mold were fractals. So I bet it was planned and the alien was that shape!

    • @adamglueckski8064
      @adamglueckski8064 3 года назад +1

      That extra terrestrial being was based on the mandelbulb! Same thing

  • @kharekelas4259
    @kharekelas4259 4 года назад

    I watched this video 3 month before and had no idea what you talking about. But during the time I started to learn some basics about shader and ray marching, now by rewatching it, I found myself able to understand it and even comprehend some math logics you've used for certain effects.

  • @mihailazar2487
    @mihailazar2487 5 лет назад +9

    02:49
    HOLY VOLUMETRIC BOOLEANS
    OMG
    THIS IS BRILLIANT

  • @MarioMazzotti
    @MarioMazzotti 4 года назад

    I have completely lost on that pythagoras!! You sir are awesome! Keep up the good work

  • @bountyhunterj6822
    @bountyhunterj6822 4 года назад +6

    The eerie music was from one of my favourite games, Mindustry! **happiness noise**

    • @asherdemareuil8188
      @asherdemareuil8188 5 месяцев назад +1

      Realy?! I didn’t even notice!(also very happy I found a fellow comrade here)

  • @manualvarado2212
    @manualvarado2212 5 лет назад +2

    Woah, Sebastian! 8D
    Most of the images in this video were incredibly satisfying!
    Thank you so much for diving into these adventures, and for sharing them with us

  • @philosoaper
    @philosoaper 5 лет назад +103

    so.. after ray marching comes ray jogging? ray sprinting? ray marathon? ray expedition racing?

  • @mutyaluamballa
    @mutyaluamballa 3 года назад

    The fact that, all this stuff is done though code is itself mind blowing..

  • @grunch346
    @grunch346 4 года назад +6

    You could use the subtraction technique at 2:47 for making your clouds interact with the mountains and not go through them

  • @MrFedX
    @MrFedX 5 лет назад

    I don’t understand how you can make a video that cool looking, yet at the same time super informative... And it’s just 5 minutes! That is really impressivez Thank you.

  • @nrxpaa8e6uml38
    @nrxpaa8e6uml38 3 года назад +3

    OMG just imagine the "3D Mandelbrot" thing implemented for VR! It would be trippy af!

  • @narutolll
    @narutolll 5 лет назад

    I'm still relatively new to programming and these coding adventures are refreshingly creative. I'm loving every second of these. Can't wait for the next one.

  • @electratix
    @electratix 5 лет назад +10

    The 3D Visualisation of the Mandelbrot set reminds me of the film, Annihilation.
    WARRRPP warp warp bum BRRRUUUUUM

  • @ThefamousMrcroissant
    @ThefamousMrcroissant 5 лет назад

    Very clean format. One of the easiest to listen to youtube tutors as well. Keep up the excellent work

  • @tranl1050
    @tranl1050 5 лет назад +22

    4:33 Dormmamu, I have come to bargain

  • @FelheartX
    @FelheartX 5 лет назад

    Awesome video dude. I love how you include all those steps, the many visualizations, the stuff you played around with (like 3:49).

  • @FaffyWaffles
    @FaffyWaffles 4 года назад +12

    4:21 it the furnucking thing from annihilation.

    • @forfox
      @forfox 3 года назад

      that what i wontet to say

  • @jhinius7689
    @jhinius7689 4 года назад

    I watched this a long time ago but recently started learning ray marching and omg this made things make so much more sense

  • @Kiloku2
    @Kiloku2 5 лет назад +3

    You already had my like when you put Pythagoras tapping away at a laptop

  • @Srcsqwrn
    @Srcsqwrn 4 года назад

    I've only recently started in unity and learning coding. It's wild how only a short time ago I didn't understand most of anything you were talking about for code, or what I was seeing, but I thought things were interesting. Now I get little inklings of clues as to what is going on.
    I can't wait to keep on learning, and then eventually mess around with code in the same way you do!

  • @AK-ry5lh
    @AK-ry5lh 5 лет назад +3

    Dude I love these videos. Any tips for someone to get started with such topics? I have extensive "standard" software engineering knowledge, but really no idea about graphics and all the other cool stuff you do.

    • @bencai605
      @bencai605 5 лет назад +3

      Yeah these coding adventure videos make me wanna play around with stuff like this as well but im not sure where to even start ...

  • @flobbinhoodgames8117
    @flobbinhoodgames8117 5 лет назад

    Wow, this was really phenomenal! I like this format because you can experiment without being forced to slow down for long explanations and tutorials. That being said, I'd be thrilled if some of these videos turn into a tutorial series!

  • @antae5979
    @antae5979 5 лет назад +5

    YES PLEASE, I don't mind having another 3Blue1Brown in my life

  • @himselfe
    @himselfe 5 лет назад

    Expected the video to be trendy clickbait, learned about ray marching, clicked subscribe. As other comments have said, really nice format! No over-complication, just clear explanations backed by simple and easy to understand examples. Nicely done!

  • @bakbak4960
    @bakbak4960 5 лет назад +3

    "I messed around with it for a little bit"
    *do something I really need to improve my gaming development skills in such an easy way*

  • @MylaRolettoPingarelli
    @MylaRolettoPingarelli 5 лет назад

    You're an inspiring person my man, I'm not on this level of coding but the things you do just captivate me. Love to see more of these videos maybe even longer videos either way I'm here and entertained

  • @MrMusAddict
    @MrMusAddict 5 лет назад +3

    Congratulations. You can now apply to become a visual effects artist for Marvel. That mandlebulb looks exactly like the quantum realm!

    • @doxxius3536
      @doxxius3536 5 лет назад +2

      NO! If a recruitment agent gets him, no more this kind of videos. Company secret. Fuck Marvel and CGI studios!!! For someone is a lifetime opportunity and for others is slavery to trade secrets and other corporative BS. A similar thing happened to some YT channels.

  • @DerXavia
    @DerXavia 5 лет назад

    amazing stuff, have to try it myself! The use of the distance function, to show/hide intersections of two objects, blew my mind

  • @yyny0
    @yyny0 5 лет назад +5

    Man, I love raytracing, even if it isn't computationally viable (yet)

    • @GameGonLPs
      @GameGonLPs 5 лет назад +2

      But keep in mind that this is NOT raytracing, this is raymarching, they are not the same. Both are awesome though.

    • @SerBallister
      @SerBallister 4 года назад

      @@GameGonLPs Arguably ray marching is more expensive.

  • @goldyloxeg
    @goldyloxeg Год назад

    these visualizations were amazing for helping me understand ray marching. thank you!!

  • @Obyvvatel
    @Obyvvatel 5 лет назад +3

    1:21 "we'll start by calculating distance to the scene". What does that mean?

    • @diegomendes1998
      @diegomendes1998 5 лет назад +3

      I think is the distance from your point to the nearest point in the scene.

    • @SerBallister
      @SerBallister 4 года назад

      @@diegomendes1998 Yup, for a given 3D start point and direction (ray), you have a function that returns the distance to hit (distance function).

  • @strivenlen640
    @strivenlen640 5 лет назад

    Omg! These raymarching simulations are pure gold. I really enjoy every single video of coding adventures.. keep it up Sebastian

  • @QuadraAce
    @QuadraAce 5 лет назад +4

    What tools/frameworks does he use?

    • @henryso4
      @henryso4 4 года назад

      it probably isn't too hard just to do a really basic opengl renderer and throw in imgui, with some inputs hooked to shader constants--then again raymarching is all in the fragment/pixel shader (whether you're an opengl or d3d guy!!)
      If you wanna get started on raymarching you can use shadertoy.com -- it sets up all the opengl stuff behind the scenes and lets you just write fragment shaders

  • @MrWaketeu
    @MrWaketeu 5 лет назад +1

    You are a genius, this visual are insane : thank you so much to share your experimental work with us, it is truly inspiring

  • @aiexzs
    @aiexzs 4 года назад +2

    I'm a simple man.
    I see 3D fractals, I click.

  • @edwardslayd7816
    @edwardslayd7816 5 лет назад

    Amazing Sebastian! I'm glad I stumbled across your videos! You have sparked creativeness in my brain! I hope to show you something you have inspired some day!

  • @antiscribe4150
    @antiscribe4150 4 года назад +4

    It makes me sad that I will never be able to play with the shapes from 3:18 because it is physically impossible

  • @MichaelProstka
    @MichaelProstka 5 лет назад

    That is just about the single best explanation of ray marching I have ever come across. Very well done!

  • @antiscribe4150
    @antiscribe4150 4 года назад +3

    Watched this video like 5 times and I'm still trying to understand it

  • @bassemb
    @bassemb 3 года назад

    I recently started using MagicaCSG, a SDF-based modeling tool, and this helped demystify it for me, thanks!

  • @infinite_cows
    @infinite_cows 5 лет назад

    that object blending is SO COOL

  • @segelsonproduction
    @segelsonproduction 5 лет назад

    BEST video on SDF and Ray Marching, so clear and easy to follow, thanks!

  • @mehdimo6306
    @mehdimo6306 4 года назад

    maaaan you are one of the best mentor n thinker ive seen on youtube !! thanks aloot man these stuff are really wholesome !!
    i got a question wich version of unity do u work with ??

  • @DevanSoni
    @DevanSoni 5 лет назад

    This is my most anticipated video series. Keep up the great work Sebastian!

  • @SonyCommander
    @SonyCommander 5 лет назад

    Sharing this knowledge with us is such a wonderful thing to do, thank you very much

  • @tennohack6704
    @tennohack6704 Год назад +1

    0:17 I'm sorry but this is the funniest thing I've seen all week

  • @josh_swanson
    @josh_swanson 5 лет назад

    Just what I was looking for! Currently prototyping a game that deals with clay and needed to figure out how to blend geometry seamlessly. This will be helpful.

  • @tylrpage
    @tylrpage 5 лет назад

    Love the series! It is introducing me to so many topics that I didn't know about but find super interesting. Your serious has inspired me to try out some of my own ideas with ray tracing. I'm eagerly awaiting your next video!! 😁

  • @serbancercelescu6693
    @serbancercelescu6693 5 лет назад

    Man, I don't usually comment on youtube for quite obvious reasons, but your channel is amazing. As a serious competitive programmer for four years and discrete algorithmics student, I can say that your videos are a truly incredible blend of theory and actual codings. A lot of kudos

  • @VerumBit
    @VerumBit 4 года назад

    wow, you are pushing it so much! the fractal end is Amazing! my best compliments

  • @carmelwolf129
    @carmelwolf129 9 месяцев назад

    this stuff is extremely interesting. thank you for showing us all the experimentation results! i hope that once i have more time in my life i'll be able to mess around like this too

  • @zikaura
    @zikaura 2 года назад +1

    This man is a living legend

  • @Katniss218
    @Katniss218 5 лет назад +2

    That looks really, REALLY cool! Can't wait to see what you'll come up with next!

  • @thezachlambert
    @thezachlambert 4 года назад

    Thank you Sébastien for helping love math again!!!

  • @urban24
    @urban24 5 лет назад +2

    My jaw dropped at the object blending, and then you completely blew my brain out with the mandelbulb visualisation! So simple, yet so beautiful.

  • @MopeyFand
    @MopeyFand 3 года назад

    Your channel is a total gem. Subscribed for life.

  • @violenttriangles
    @violenttriangles 3 года назад

    Just shared this on twitter to explain this to an artist. Thank you for helping!

  • @unknown4me1
    @unknown4me1 5 лет назад

    I really like those coding adventures! So interesting to watch! keep up the good work

  • @JacksMacintosh
    @JacksMacintosh 5 лет назад +1

    I have no idea what I was looking at in the end, but it was beautiful

  • @sebastianrodriguezbojorge7123
    @sebastianrodriguezbojorge7123 5 лет назад

    I like the video editing and how you acknowledge and describes your struggles as well. That pitagoras was 😂

  • @knowledgedh7700
    @knowledgedh7700 5 лет назад

    This is so cool this stuff very mesmerizing, really enjoying these videos ignites my passion for coding. Which I need for uni at the moment cause of the coding we are doing

  • @mathiasbttger980
    @mathiasbttger980 3 года назад +2

    4:23
    "Dormamu! I've come to bargain"

  • @martynBVT
    @martynBVT 3 года назад

    Wait the "messed up" visuals look so cool!

  • @GameDevHQ
    @GameDevHQ 5 лет назад +1

    Damn dude. This was amazing. Well done

  • @cmilkau
    @cmilkau 5 лет назад

    If you know the ellipsoid method for solving linear systems, it provides a nice way of reducing the number of iterations on near-misses / almost parallel hits of flat surfaces (i.e. only works with boxes). If you don't know it, it (linearly) transforms flat shapes so that the closest one always stays at the same distance, while preserving volumes. This is the sames as squishing the distance sphere near flat surfaces to a pancake, so that you can move farther parallel to the surface in a single step.

  • @LamanodeManolo
    @LamanodeManolo 5 лет назад

    Woooooah. That 3d fractal had me mesmerised indeed. That's a direct sub my dude, amazing content, great format, nice presentation.
    Keep it up, you're good!

  • @jakemccallum7468
    @jakemccallum7468 5 лет назад +1

    Instant subscription, brilliant video and fascinating topics .

  • @nagualdesign
    @nagualdesign 5 лет назад

    I love your videos! Been on a few coding adventures myself and I'm considering posting a video or two. Not sure whether to feel spurred on or completely outclassed! 😊

  • @veda-powered
    @veda-powered 5 лет назад +1

    Ray marching is cool, I particularly like Ray marching based and casting hybrids for voxels, which marches one distance each step, then tests intersection of the eight surrounding cubes, making a relatively speedy Ray casting engine for rendering voxels.

  • @dr20231may
    @dr20231may 2 года назад

    this visualization is very good , i understood much about Ray marching now

  • @davef21370
    @davef21370 8 месяцев назад

    Beautiful! At the start it looked like the cosmos giving birth to something as yet unknown.

  • @thegreypoet9518
    @thegreypoet9518 4 года назад +1

    I was never great at maths. But maths and design intersect on a level that makes me marvel. To me, a religious person, it feels like the design of the universe is so mathematic. Watching these is like watching a sermon xD. But better tbh. Gorgeous work.

  • @altheslacker4198
    @altheslacker4198 5 лет назад

    Thank you for easily the most interesting and enjoyable channel I have seen.

  • @heinrichkreuser2659
    @heinrichkreuser2659 5 лет назад

    Hi. I really like your video, I love that you take initiative to create cool things via coding. I see you like creating images that are aesthetically pleasing and tries to model nature, much like I do.
    Currently I'm looking into galaxy generation. The idea of how the colors would look and how the galaxy form intrigues me. If you're looking for a new project some day, I'd be delighted to see how you would take on one like this.
    Keep up the good work!

  • @AndrewFullerton
    @AndrewFullerton 5 лет назад

    Rendering an object as only the intersection of two metaobjects (or whatever they'd be called) seems like a really good way to do crazy stuff with the 4th dimension

  • @dbolan
    @dbolan 5 лет назад

    Digging the delaunay triangulation at the start!