Coding Adventure: Ray Tracing

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

Комментарии • 1,7 тыс.

  • @johncomedia
    @johncomedia Год назад +2379

    You are the Bob Ross of coding with phrases like "Our little raytracer" and I love it.

    • @ano3000nymous
      @ano3000nymous Год назад +55

      What a great analogy

    • @mikhailkerman8323
      @mikhailkerman8323 Год назад +15

      I wanted to say this

    • @stickguy9109
      @stickguy9109 Год назад +50

      There are no bugs only happy accidents

    • @LePeppino
      @LePeppino Год назад +25

      @@stickguy9109 no errors only happy little exceptions

    • @AetherXIV
      @AetherXIV Год назад +5

      this is so true. its so relaxing. even though I could never code like him :)

  • @HunterHerbst
    @HunterHerbst Год назад +2067

    It always sounds like Sebastian is explaining all this cool stuff with a massive smile on his face. Like you can just hear it in his voice. And his happiness make me happy in a way. I love your work, keep it up :D

    • @aaAa-vq1bd
      @aaAa-vq1bd Год назад +114

      It’s just the Scandinavian accent. It’s especially strong for Danish people, who often sound like they are smiling. Evidence for this is that I thought Lague was Danish before I checked the channel info, originally just to check if he might be Scandinavian. This accent results in a “happy” register in English. That being said it requires some level of happiness or concerted effort to sound like this. I assume it’s a bit of both.

    • @HunterHerbst
      @HunterHerbst Год назад +23

      @@aaAa-vq1bd Interesting. Thanks for the info

    • @aaAa-vq1bd
      @aaAa-vq1bd Год назад +23

      @@user-bo5vr1ib6i never mind then. it was anecdotal evidence and even when I posted it I had this nagging feeling that it might be a totally spurious connection. Thanks for the correction.

    • @user-bo5vr1ib6i
      @user-bo5vr1ib6i Год назад +3

      @@aaAa-vq1bd No problem. Have a nice day :)

    • @manioqqqq
      @manioqqqq Год назад +9

      He is the type of person who would scream in lowercase

  • @keiidev
    @keiidev Год назад +3896

    Always a good day when a Coding Adventure releases

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

      150

    • @guestguest8278
      @guestguest8278 Год назад +15

      I was a bit skeptical at first because it is april first

    • @BenPanna
      @BenPanna Год назад +4

      Absolutely! It's like getting an unexpected package in the mail, but better because it's code!

    • @debadityanath4398
      @debadityanath4398 Год назад +3

      @@BenPanna true, already got april fooled 3 times today on youtube

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

      *cooding adventure

  • @خالد_الشيباني
    @خالد_الشيباني Год назад +709

    Whenever Sebastian says "How this works is super simple", I pay extra attention.

  • @LightningFoxHD
    @LightningFoxHD Год назад +3494

    Sebastian doesn't upload often, but when he does you know I'm clicking on it immediately

    • @tejiriamrasa3258
      @tejiriamrasa3258 Год назад +34

      @@Danuxsy Is that supposed to be a flex?

    • @JordHaj
      @JordHaj Год назад +39

      @@Danuxsy weird flex but ok. Did you make a more entertaining and informative video than Sebastian?

    • @Danuxsy
      @Danuxsy Год назад +2

      @@JordHaj Actually I believe GPT-4 is a greater teacher than Sebastian because you can ask it about anything, it can explain code for you, why you got an error and even fix the errors for you. It can explain in many different ways too if you just ask! 😊 It can also read documentation and lead you through problems step by step too!

    • @SSukram_
      @SSukram_ Год назад +3

      ​@@Danuxsy but that's kinda obvious, it learned from the entire internet.

    • @mohammadhomsee8640
      @mohammadhomsee8640 Год назад +23

      ​@@Danuxsy What is the point of making a ray tracer in less than 5 minute using GPT-4, while you can use already created one ? Sabastian is learning and doing every single thing in this series, you can't imagine how much information he get out of this. For example In this video only, he learned how to perform doing random numbers, how to do communication between CPU and GPU to send mesh information, How to render meshes in ray tracer, How to calculate intersection between sphere and triangles, he learned about probability with normal distribution and uniform distribution, He did very useful visuals to check his work and equation. He did a really amazing work. It's not comparable with doing it using GPT-4.

  • @MykelGloober
    @MykelGloober Год назад +270

    "Truly one of the artworks of all time."
    Couldn't agree more, it's definitely one of them!

    • @DeenBoi
      @DeenBoi Год назад +5

      anyway whats going on with this tomato

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

      That's the joke, well done

    • @mastershooter64
      @mastershooter64 3 месяца назад +1

      @@howdj that's the joke, well done

    • @xoxogamewolf7585
      @xoxogamewolf7585 Месяц назад

      how come i saw this comment the second that he actually said it because i had the video playing in the background

  • @aleksp8768
    @aleksp8768 Год назад +1014

    Sebastian is the definition of quality over quantity

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

      You’re the definition of an unoriginal commenter

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

      im so confused it says theres one comment to this comment while i see nothing

    • @vignotum132
      @vignotum132 Год назад +3

      @@dip8 well hello there. My comment said:
      “You’re the definition of an unoriginal commenter”

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

      @@vignotum132 k lol ty

    • @vibaj16
      @vibaj16 4 месяца назад

      @@dip8 extremely common youtube bug. the number of replies is wrong like 50% of the time

  • @abd_cheese7353
    @abd_cheese7353 27 дней назад +1

    He always sounds like hes smiling which makes him so pleasing to watch and listen to

  • @spidermankey1398
    @spidermankey1398 Год назад +1942

    When others code it is frustrating but when Sebastian codes it looks like he is Ballet Dancing like the world is on 0 difficulty

    • @alexlandherr
      @alexlandherr Год назад +97

      That probably means a lot of testing that we don’t see.
      I’m a Java backend developer and writing some simple endpoints for say a Spring Boot server means first write the code that handles a request and then a bunch of tests which usually takes a large portion of the time.

    • @redship7532
      @redship7532 Год назад +2

      So true

    • @thom1218
      @thom1218 Год назад +25

      He also gives the impression that he's pretending to come up with these ideas on the fly, together with the testing we don't see, it just becomes more of an ASMR parody. People worry about AI not attributing their creations to human generated training data and here we have a 1M+ YT channel blathering on as if he didn't lift shader code from open source projects like Blender or a million other places or even inspiration from any source. Sure, okay Sebastian - what have you woke up and just randomly thought of to code today? lol

    • @TheBcoolGuy
      @TheBcoolGuy Год назад +10

      He does take a long time to make these videos, but he is really sharp.

    • @ET-yc4wb
      @ET-yc4wb Год назад +155

      @@thom1218 Maybe you didn't watch the video, but he clearly gave us the name and images of the books he read, and he clearly said that he borrowed code from others, whether it be from stackoverflow, or blender. So no, he didn't wake up with these ideas. He's spend quite some times studying and writing code. Hence why he barely uploads.

  • @shockwave7094
    @shockwave7094 Год назад +17

    That technical difficulty during the FOV part in the intro had me in stitches, unapologetically showing that even though we have the lofty goal of ray tracing we can still have something so trivial trip us up. I just love how incredibly informative as well as entertaining Sebastian is

  • @josbird
    @josbird Год назад +841

    The juxtaposition between the calm, confident voiceover and the sudden bugs never fails to make me chuckle

    • @MandrakeGuy
      @MandrakeGuy Год назад +10

      especially the one near the start of this video, bugs and issues USUALLY dont happen that quickly... USUALLy...

  • @AnimatedPlayer
    @AnimatedPlayer 2 месяца назад +2

    I am still in 9th grade and nor do I understand the maths here nor the code, but I love these videos.
    Whenever i watch a video of yours , I feel better.
    Thanks

  • @cerealkeepsyougoingeveryda555
    @cerealkeepsyougoingeveryda555 Год назад +782

    The series continues, and I'm very grateful for this Sebastian!

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

      I am grateful for the kity!

  • @ymi_yugy3133
    @ymi_yugy3133 Год назад +50

    I can't even begin to image how much work it must have been to write all these visualizations. Keep up the good work.

  • @likeyou3317
    @likeyou3317 Год назад +226

    Hey Seb, I just wanted to appreciate the extra effort you take to code/setup your visualisations that aren't part of the project but enrich your explanations substanially. Animations, concise statements, music, all of it sparks my sometimes diminishing love and passion for programming. Thank you.

    • @petermead8229
      @petermead8229 Год назад +5

      100% Agree. This must be lots of extra work, but even when I'm only understanding a fraction of the code & concepts (I quite enjoy being so lost tbh!) the animated examples and explanations give me something to grip into. I just had a horrible morning btw, and this vid has calmed me down soooo much. Also the images are beautiful!

    • @SpringySpring04
      @SpringySpring04 Год назад +2

      Don't forget the occasional appearance of his cat! Lol

  • @dertuel
    @dertuel Год назад +28

    I love how relaxing and inspiring your videos are. I’m always getting a humble„No big deal“ vibe, which pushes me to never be too proud of my achievements but accepting them as the next step but not the last. Thanks for your hard work! Very appreciated ❤

  • @182exe
    @182exe Год назад +201

    how in the world did you make this so nice to watch
    the catto, the tomato, and your slight sense of humor is simply perfect

    • @hmmmidkkk
      @hmmmidkkk 6 месяцев назад

      I've made a raytracer in c++ as well , it isn't as easy as he shows , he just shows the concept and how the code works he puts a lot of effort than he shows.

    • @cewla3348
      @cewla3348 Месяц назад

      @@hmmmidkkk yes, we know

  • @chucknovak
    @chucknovak Год назад +4

    I love how you walk through stuff like this. You get the audience to ask, "What is the next natural step?" and give them the breathing room to think of an answer. Then you show them what you came up with and sort of hint at why it is a useful concept more generally without saying it explicitly. Your videos are simply fantastic at getting people (specifically me) to think through complex problems in small rational steps. Bravo. Keep it up!

  • @rocketgirl3366
    @rocketgirl3366 Год назад +2087

    MOM! SEBASTIAN LAGUE DROPPED ANOTHER VIDEO! CANCEL THE DENTIST!

    • @22Tie22
      @22Tie22 Год назад +67

      Or watch it while at the dentist! With his soothing voice and fascinating content, It oughta be better than lidocaine

    • @0xxKAMISAMAxx0
      @0xxKAMISAMAxx0 Год назад +10

      Literally me minus the dentist 😂

    • @GnuSnu
      @GnuSnu Год назад +12

      how did you comment on this video 10hours ago? (it's been posted just 3minutes ago)

    • @bramlahousse7750
      @bramlahousse7750 Год назад +16

      @@GnuSnu probably members only video for a bit or unlisted

    • @repinuj
      @repinuj Год назад +8

      I always hated the dentist, yeah, let’s cancel ‘em!

  • @aerolynx2700
    @aerolynx2700 Год назад +5

    I love how you're keeping these classic sign flip issues and little mistakes in the video - very relatable ❤

  • @LaunchRecap
    @LaunchRecap Год назад +295

    I don’t know if I’m disappointed or excited. I was expecting a April fools video but honestly this is the best video released today. ❤

    • @tbird-z1r
      @tbird-z1r Год назад +17

      It's a waste of time using RUclips on April fools. Mostly just unfunny crap.
      Good to see a proper video.

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

      True I also thought that

  • @thebooduck
    @thebooduck Год назад +8

    Congratulations Sebastian, you are hereby certified crazy for doing all your animations inside Unity.
    You may add that to your CV for future job applications.

  • @bowarc
    @bowarc Год назад +116

    Man i love this 'Coding Adventure' series.
    Insane video, as usual

  • @averagecodegame
    @averagecodegame Год назад +2

    As someone who does a lot of technical programs especially like this on Scratch, I love this content for two reasons.
    1. It teaches you how to do everything and it is detailed.
    2. It gives me ideas for demo scenes for when I share my code.

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

      On Scratch?? The visual scripting "language" meant for teaching children basic coding principles?

  • @noahabry619
    @noahabry619 Год назад +163

    Incredible video ! I usually have a hard time understanding these more complicated aspects of computers, games, renderers, basically technical stuff, and while it still is a struggle, your videos make these so much easier to comprehend or at least visualize. This 40min vid felt like a 20min one with how well everything was presented. Incredible stuff, as always ! And these renders are really cool looking !

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

      If you would like some more knowledge about some of the topics in here like matrixes, shaders and general redering I would recommend reading the Free pdf book. LearnOpenGL. The first chapter goes quite in detail.

    • @BenPanna
      @BenPanna Год назад +2

      learning about technical stuff could be so visually stunning? 😄 enjoyed the video and were able to keep up

  • @Stvk
    @Stvk Год назад +8

    his video feels both calm and inspiring, and never boring

  • @yjonesy
    @yjonesy Год назад +152

    It's amazing how I am entertained both by a gentleman like Sebastian, with his calm and warm voice, and by characters like The Code Bullet, his cursing and his madness. Different Content Creators, united together with many others by the passion for coding. ❤ thanks

    • @NinjaOfLU
      @NinjaOfLU Год назад +8

      I literally came straight from a CodeBullet video to here, and totally agree, it's hilarious!

    • @Mullatta_Damage
      @Mullatta_Damage Год назад +8

      😂They're the angel and devil on coding's shoulder. You're going to learn through amazing content, but it's either through tranquility or chaos.🤣

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

      Sebastien is Lawful Neutral, Coding Train is Neutral Good, and Code Bullet is Chaotic Neutral. We need to find the Neutral Evil coding channel to have the minimal alignment axes representation. It would be amazing to fill out a full 3x3 grid of coding youtubers, but I am not sure if there are that many.

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

      @@flabort the coding train can be Chaotic Good... 😂

  • @brunoromeroperez4879
    @brunoromeroperez4879 Год назад +6

    29:53 "Truly one of the artworks of all time"
    "Anyway, what's going on with this tomato?"
    I died here

  • @iankistner3576
    @iankistner3576 Год назад +8

    "Truly one of the artworks of all time. Anyway, what's going on with this tomato?" is easily one of the transitions I've ever seen.

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

    I never understand the coding part, but I love watching for the adventure! The way he explains things and his narration is always so soothing.

  • @gary-huang
    @gary-huang Год назад +70

    Would highly suggest adding a bounding volume hierarchy to your little renderer! Makes a world of difference in performance. Also if you really want to get into the advanced features of a path tracer, try implementing multiple importance sampling with next event estimation!

  • @skyroor
    @skyroor Год назад +4

    Absolutely glued to the screen. You produce some of the best balance of technical and visual teaching/adventuring I've ever seen, video after video, and this was by far my favorite! Wonderful work :)

  • @glumpfi
    @glumpfi Год назад +18

    I wrote some kind of ray tracer 2 years ago, but for sound sources in a reflecting (reverbing) room. Like a 3D sound simulator. I just tried to figure out everything by myself without any knowledge - and of course i stumbled over some of problems i weren't able to solve by myself. It's really nice to see this video and how you came to every single of my problems and then showed how to solve them :)

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

    Literally every line just sounds like his smiling and it honestly adds way more than I would have thought

  • @SufficingPit
    @SufficingPit Год назад +65

    I love your stuff. Your visuals are so clean and satisfying. You also have perfect concise explanation that are still very informational and in deapth. Honestly you are probably my favorite codeing/dev channels.
    Also, really good at getting me inspired to do similar projects for fun.

  • @stepanbatllorimartinez4696
    @stepanbatllorimartinez4696 Год назад +3

    This is just a frivolous ammount of liquid GOLD! Wh-what the hell? I have been following you for a long time, but this Render Coding was AMAZING! I think it's been five years since I started modeling for a living in 3D and I, of course, understand how ray tracing works, but this level of detail was beyond my expectations, I learned a lot today!
    Thank you very much!!

    • @SebastianLague
      @SebastianLague  Год назад +3

      I'm happy you enjoyed it so much, thank you!

  • @TheSpacecraftX
    @TheSpacecraftX Год назад +11

    Gotta put everything down and watch every time I see the notification for these.

  • @zuulpongo
    @zuulpongo 8 месяцев назад +1

    That explanation of a normal vector was only a few seconds long and still explained it in the best way possible (sponsored by Viridian)

  • @unlucky-777
    @unlucky-777 Год назад +17

    Running a butter smooth code means a lot of testing and tons of bug fixing that we don’t see.
    He goes through these issues to create 40min~ long videos for us

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

    What i find so interesting in these series is that it takes a very complex subject and experiements with them during the development process which really does help in understanding.

  • @BalintCsala
    @BalintCsala Год назад +14

    A quick note about the rejection method you used for the random direction originally, while it is true that about half of the time it will find a good candidate, so on the CPU it would only run on average less than 2 times, on the GPU threads are done in groups of 32 (NVIDIA) or 64 (Intel, AMD), and the threads in one of these groups can only continue once all of them does. I did some tests and that results in 6 or so iterations before exiting on average on 32 thread systems.

  • @Cerafem
    @Cerafem Год назад +2

    Nice job, I'm subscribed and I love your videos. There is a huge inaccuracy I want to correct though, yes coatings/waxes/varnishes are an important aspect of understanding the surface properties (especially in automotive rendering) but a specular that keeps the color of the light source is the default, and is the behavior of all dielectric materials. Metals are the exception, which modify the color of the light when reflecting it back. Most rendering packages will either use a Metallicity property/texture to specify this (allowing for a single texture to have both), or just use different shaders for each.

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

      Oh and another compliment, your depiction of focal planes and focus is a really good demonstration for a principle that people have trouble understanding. I like the circle you are using to show the area of the distribution of offsets from the view origin, which is conceptually the pupil/aperture/f-stop of the lens, which is all at the same point in the original renderer, the demonstration of the pinhole camera model.

  • @Cengizhan98
    @Cengizhan98 Год назад +54

    I swear because of these types of videos i am learning again why i love to work in this field and how much I just love the sheer wonder and fascination of making math look good. I was grinning the whole time like an idiot during the reflections part and its also partly the fault of the video, because your videos are so well done and cinematic, I could watch them all day and just leave them running in the background

    • @BenPanna
      @BenPanna Год назад +2

      Just don't forget to actually do some work in between leaving the video running all day 😉

  • @JackonKrack
    @JackonKrack Год назад +3

    Hey man just wanted to post a comment to express my love for your videos.
    Im currently in school studying software development but my love for programming and technology goes beyond that. I'm not the smartest guy and I'm not going to pretend to understand everything you do or say. But man I've learned ALOT.
    So far the most fascinating thing you taught me is the HOW math is actually used in creating all sorts of things. I've always heard that math is important but I never got an explanation for why or how.
    I appreciate and love everything you do and I hope you continue making videos like this for a long time. Much love ❤

  • @joelholmes9497
    @joelholmes9497 Год назад +39

    I specialised in physically-based rendering during my master's degree, had to do a whole ray-tracing project very similar to this so was very nice to revisit some of the theory along with such wonderful visualisation. Your presentation of the ideas at play here is an absolute joy and your code is pristine as ever - always a pleasure to see what you're working on, thanks for the great content! :)

    • @AdityaRaj-bq7dz
      @AdityaRaj-bq7dz Год назад

      is this how ray tracing is implemented (bounce around till you reach light source) or people use phong's shading (calculate shadow and reflected ray) to get ray traced results??

  • @zippysqrl
    @zippysqrl Год назад +3

    His voice complements his programming and editing style so nicely.

  • @justinbohemier118
    @justinbohemier118 Год назад +11

    Impressive to say the least. You're able to take complex subjects and turn them into easy to understand lessons that are also beautiful works of art. Really enjoyed this

  • @tacotime7894
    @tacotime7894 Год назад +2

    This is the exact kind of thing that I love about programming. I recently made my first pathfinding program in pygame (using Sebastian's A* video), and seeing it work was the best feeling. I feel like making a game would give you that every once in a while, but with little experiments the whole goal is to get a single system working well.

  • @Anzy_M0ti0n_31
    @Anzy_M0ti0n_31 Год назад +48

    So Marvelous ! The fact he employed real life laws and the fact they actually worked Is truly outstanding !!

  • @arceyominyin
    @arceyominyin Год назад +4

    This was a super fascinating watch. Ray trace rendering was always one of those things I just accepted to be magic, but this broke things down in a way that was really incredibly easy to follow. Really great video.

  • @danesmith624
    @danesmith624 Год назад +8

    Things like this blow my mind. Glad their was people out there who created rendering like this so we could enjoy the fruits of it.

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

    This is amazing. Filled with detail and excitement as you explain, it makes as I want to do it as well. Although could as well be a tutorial, it seems so entertaining and interesting watching what would happen. I subscribed and would like to follow and enjoy while you talk of the capabilities to accomplish. I did not know it could do so much, the programs. Thank you for making this and explaining along the way.

  • @elliotmarks06
    @elliotmarks06 Год назад +4

    I am blown away by this video. You made not only one of the best ray tracing explanations I've seen, but a really cool engine as well! I'd love to see this become a series, maybe touching on performance improvements and code optimization as well.

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

    i greatly appreciate the cat footage and getting to hear the purring even

  • @diggitydingdong
    @diggitydingdong Год назад +4

    Please a part 2 on optimising this and adding more features. It would be so satisfying to get this closer to realtime if even feasible

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

    This taught me so much about how Blender Cycles works

  • @CatCraftYT
    @CatCraftYT Год назад +4

    this is amazing!!! it's so cool how each step builds up to a good-looking ray tracing implementation despite all of them seeming relatively simple compared to how complicated rt seems as a whole. you're really good at explaining things! i understand how it's ray tracing works much better now, thank you :)

  • @jamesking2439
    @jamesking2439 Год назад +2

    The reason that normal distribution is spherically symmetric is because when you multiply the distribution functions for x, y, and z, you get something like e^(-x^2 - y^2 - z^2) = e^(-r^2), which only depends on the distance from the origin.

  • @Hailfire08
    @Hailfire08 Год назад +9

    13:00
    You want to create points using a distribution in (x,y,z) that is only a function of (x^2 + y^2 + z^2) = r^2 (that means it has no dependence on direction, which means the points will be evenly spaced across the surface of a sphere).
    If we take x, y, z separately, the resulting distribution f(x, y, z)dx dy dz = f(x)dx \* f(y)dy \* f(z)dz (this is because the three are independent (because we calculated them separately), so the probability of finding our output position in the range (x, y, z) -> (x+dx, y+dy, z+dz) is equal to the probability of finding x in that range, times the probability of finding y, in that range, times the probability of finding z in that range. Like how the probability of flipping a coin and getting heads three times is the probability of getting heads once, times the probability of getting heads once, times the probability of getting heads once)
    Intuitively, it seems that we should take x, y, z from the same distribution (because it's independent of direction, we can't treat different directions differently).
    Applying these, we see:
    f(r^2) = f(x^2 + y^2 + z^2) = f(x^2)\*f(y^2)\*f(z^2)
    What type of function is defined by f(a+b) = f(a)\*f(b)? An exponential.
    So we find our distribution must be f(r^2) = exp(-r^2), which is a normal distribution.
    I hope that helps, if I have explained anything badly please say so!

    • @chakflying1
      @chakflying1 Год назад +3

      Was just watching the new 2Blue1Brown video "Why π is in the normal distribution (beyond integral tricks)" and it basically explained this. Very interesting.

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

      I noticed he did the same thing in the defocus code at 33:00, realistic/"ideal" lens blur tends to follow a gaussian curve, would that mean you'd want your ray distribution from the single pixel in the camera to follow a similar curve?

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

      I think I remember someone doing a straight poisson distribution lookup to a table of pre-calculated coordinates for some of these ray directions.
      I think the idea was to get solid randomness cheaply as you were looking them up instead of calculating them.
      It was a disk and for better randomness you could just keep rotating the disk. (for say different ray hits or frame numbers)
      I didn't do this myself but its a memory of something that might have happened. :D

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

    Just wow. Skills in so many fields. Video editing, story telling, coding, voice overs, animation, teaching, just to name a few

  • @Mystixor
    @Mystixor Год назад +7

    Each of your coding adventures is very inspiring, love your content!

  • @danm3573
    @danm3573 10 месяцев назад

    The quality of these videos is through the roof. I can imagine how much work goes into each video and I'm honestly floored.

  • @minerkey682
    @minerkey682 Год назад +89

    is it just me, or does Seb sound like hes smiling the whole time as he records

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

      it's you

    • @allthefun2969
      @allthefun2969 Год назад +6

      Kind of, that's why his voice is such a good and relaxing sound to listen.

    • @aurelia8028
      @aurelia8028 Год назад +3

      Nah he just has an annoying accent

    • @minerkey682
      @minerkey682 Год назад +9

      @@aurelia8028 idk I think his accent is fine. He sounds rly laid-back and it makes the videos much more enjoyable and calm to listen to

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

    13:01 The spherical symmetry is because the joint probability of multiple independent Gaussians e^(-x^2) looks like e^(-x^2) * e^(-y^2) = e^(-x^2-y^2) = e^(-r^2) which only depends on the radius and so is spherically symmetric. So Gaussians are useful here because they exploit the group structure of exponents to recover the radius just by being multiplied together.
    Thanks for this video, it was very satisfying to see you build a raytracer from scratch with much more success than I ever had!
    I would love to see a continuation of this with denoising, importance sampling, SDF support (fractals 😍), or any of the other features you mentioned at the end

  • @aaron_gomes
    @aaron_gomes Год назад +3

    I didn't expect a video about programming to be so soothing. I love this.

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

    The final animation focusing on the knight looked so nice, really great video!

  • @romrom83
    @romrom83 Год назад +5

    you've got no idea how much this video means to me, i've been trying to code a ray tracer helplessly for the past few months, thanks a ton :D

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

    I have never understood a thing of what you have done - but I have watched a lot of these videos. They are super great to watch to just get a wash of 'I'm still learning' as an adult

  • @bovanshi6564
    @bovanshi6564 Год назад +6

    These videos are truly exceptional. Really a part of the few content creators of true excellence.

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

    Great work! It's amazing to see this raytracing in close to real time. When I played with POVray in the late 80s any of these scenes would make my 286 cry for days. Moore's Law is indeed a wonderful thing.

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

    I love that you said “Suzanne enters the Avatar State” as a way of describing making the model’s eyes glow

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

    Ok but the way you sound is so optimistic and calming I never can let go of a smile while watching - its almost like you are grinning while recording the audio!

  • @tayyabchadhar3876
    @tayyabchadhar3876 Год назад +2

    You have a great understanding of code and programming concepts, and you're able to explain them clearly and effectively. You have a knack for debugging and solving complex issues and your attention to detail and ability to write clean and efficient code is impressive. I take you as an inspiration.

  • @blucenere
    @blucenere Год назад +2

    There aren't enough like buttons to send appreciations to each part of the video

  • @epicbananas42
    @epicbananas42 Год назад +3

    This channel is a good example of quality over quantity

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

    This seems like a great way to try out materials that aren't physically possible.
    - What does a material look like if light always bounces away directly along normal vectors?
    - Vampire materials -- they're invisible in mirrors (only show in first bounce)
    - Reverse vampires -- invisible when viewed directly (ignored as a 1st bounce), but show up in reflections

  • @cookiejackb
    @cookiejackb Год назад +44

    Your videos never fail to entertain me

  • @4ntig3n
    @4ntig3n Год назад

    I just literally had a "click" moment in my brain when you were pulling the knight back and forth and now understand how focal planes work. After decades of DSLR photography where I had an understanding of the effect I wanted to achieve.. it just went click and I understand it at a different level.
    Anyway, great video :) I love these.

  • @AllExistence
    @AllExistence Год назад +141

    Can you try raytracing-based portals next time? Like, teleporting the ray instead of bounce.

    • @vibaj16
      @vibaj16 Год назад +10

      portal rtx be like

    • @waker_link
      @waker_link Год назад +17

      I don't think the basics of the algorithm would be much different, you just cut off the ray after collision and make a new one with same properties starting from the end of the portal, it would be laggy as hell though because of how much more information the renderer needs to account for

    • @vibaj16
      @vibaj16 Год назад +3

      @@waker_link At least it's not so laggy that you'd need a supercomputer. Portal RTX runs ok on modern high-end graphics cards.

    • @AllExistence
      @AllExistence Год назад +6

      @@waker_link No, first of all every ray it's technically a new ray, and second is the only thing he needs is offset position and rotation.

    • @Meatbag05
      @Meatbag05 Год назад +13

      Sadly it's way less complicated to do this than most things you see in this video (sad as in it's gonna be trivial in math so that it'd barely be a minute in the video, at least in coding it). It's gonna work the same as perfect refraction or reflection, which we already got.

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

    Stopped everything, paused whole life just to watch new video! Thank you Sebastian!

  • @ndotl
    @ndotl Год назад +22

    Ray casting instead of ray tracing, which only proves I took computer graphics courses about a decade ago. Ray tracing is the accepted name of the process (e.g., RTX4080). I am making this the year I restart my CG journey. You actually provided a lot of great debugging ideas,. I remember debugging being one of the main hurdles in the courses I took a decade ago. Glad to see you reference the Peter Shirley books as I will use then when I get started.

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

      how did you comment on this video 10hours ago? (it's been posted just 3minutes ago)

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

      @@GnuSnu Einstein: My comment were based on his utube post in which (if you are paying attention) the code is on display in addition to the 'pretty pictures'.

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

      It's all ray tracing. There's so many variants it's pointless to try to assign one name to one variant. It all comes down to the maths of calculating intersections between rays and geometry. RTX-based ray tracing is simply hardware-accelerated ray tracing. In other words, the hardware assists in doing the maths of tracing the rays. It's still ray tracing with it's done with dedicated hardware or not.

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

      @@clonkex In CompSci the formal term is ray casting, but ray tracing is the term used. Actual true ray tracing is performed in optical design as rays are traced through an optical system.

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

      @@GnuSnu P.S: I am also on Patreon and may have seen it there. I did not make it up.

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

    After watching your whole coding adventure series, I start to realize that either you are really good at making this look complicated or I know much less about this stuff then I thought.

    • @comvnche
      @comvnche Год назад +2

      He is actually really good at making this look much more easy than it is. xD

  • @Kokice5
    @Kokice5 Год назад +4

    Nice
    I always love when new videos are out

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

    29:52 I would love to get a little endless loop of a camera rotating around the horse or moving directly forward infinitely from on top of the piece, it would make a great background, or just a visual overall, I always love the creativity of your videos Sebastian, I checked at least 20+ times if you posted a new video whenever I had time, great stuff.

  • @beaverbuoy3011
    @beaverbuoy3011 Год назад +4

    Man no way this is amazing, im always happy when you release a video

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

    Man, this is by far my favorite channel on RUclips. The stuff you create is always so cool and interesting, and the quality is just out of this world. I honestly wouldn't be surprised if you spent significantly more time coding the visualizations of what your code does than writing the actual code, but that effort really pays off in the final video.

  • @EdoardoDurbano
    @EdoardoDurbano 6 месяцев назад +3

    Do I understand anything? No. Do I watch it to the end? Yes.

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

    When you were doing the field of view stuff it got me thinking, surely you could simulate all sorts of lenses by changing how the paths move away from the camera. Like by slightly bending the curves outwards for example, or even having the lines move back together at a later point for some crazy combined field of view shenanigans. Would be fun to try out! And as always, superbly produced video with all the animations and explanations.

  • @GGCannon
    @GGCannon Год назад +6

    One of these days, Sebastian will accidentally make a triple A level game with procedurally generated everything with lifelike graphics, I swear...

    • @PKMartin
      @PKMartin Год назад +4

      Bold of you to assume we're not already living in that game

    • @DigitalJedi
      @DigitalJedi Год назад +2

      I've been secretly hoping these videos and topics have all been related to some hidden project. Imagine if once he's done enough of them, a new series starts "Making my own game engine" and then he just starts building things from scratch again.

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

    Unity in house engineers should be jealous of what you know and how you explain. Take a class of them dude.

  • @thellamamarketer
    @thellamamarketer Год назад +4

    36:49 “My computer is dying, but i think it looks nice.”
    Me when I set the game graphics to max on my potato computer

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

    I think I've said this before in a previous video, but even though I have almost no idea what you're talking about on a technical level, I thoroughly enjoy listening to you explain it. Your obvious enjoyment of the subject is clear.

  • @trucksarenoisy
    @trucksarenoisy Год назад +4

    Oh so you turned your PC into a space heater, interesting

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

    I absolutely love how exploratory and educational every one of your videos are. Every video is so well put together and your explanations are clear. I don't think there's been a single video that you've made that hasn't taught me anything new.

  • @micahkeller1233
    @micahkeller1233 Год назад +4

    Please! hear this out:
    when Sebastian tried averaging the pixels over multiple frames, he got really blurry results with moving objects. (Progressive Rendering)
    But If he stores the ray trace data to a list (per screen pixel),
    and then averages that, he will get the same effect.
    But then he should have each frame's data gradually lose the influence it has in it's pixel, until the oldest data has no influence, and is discarded.
    I think the effect this will have is: Decent real-time ray tracing, and easy motion blur!

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

    Sebastian commentary sounds like he smiles while he says it and I love it. It’s so calming haha.

  • @stick-Iink
    @stick-Iink Год назад +4

    Why do I want to eat the renders

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

    I had to rewatch the explanation for the noise like 15 times because I kept getting distracted by the cat.
    I'm not complaining, I loved that.
    (Another winner of a video my man)

  • @CenterGaming1
    @CenterGaming1 Год назад +3

    Why does it sound like he's brightly smiling every time he talks? Is it just me?

  • @krbse.3578
    @krbse.3578 Год назад

    I've been thinking about the cosine weighted point distribution myself over these past few days. It's always a great time watching your videos and seeing all these things that I want to try out in future projects too!