Coding Adventure: Optimizing a Ray Tracer (by building a BVH)

  Рет қаралды 340,498

Sebastian Lague

Sebastian Lague

Күн бұрын

Trying to speed up the ray tracer (from a previous coding adventure) so that we can render some more intricate scenes!
Links:
● Source: currently in early access on Patreon and ko-fi (will be freely available July 1st)
● Get early access to new videos and projects by supporting on:
-- Patreon: / sebastianlague
-- Ko-Fi: ko-fi.com/sebastianlague
● Previous Ray Tracing episode: • Coding Adventure: Ray ...
● BVH Article: jacco.ompf2.com/2022/04/18/ho...
● 3D Test Models: casual-effects.com/data/
● Music Credits: github.com/SebLague/Misc-Proj...
Chapters:
00:00 Intro
00:30 Triangle-Test Debug View
03:34 Bounding Boxes Inside of Bounding Boxes
04:41 Building a BVH
07:41 Traversing the BVH
09:13 GPU-Friendly Data
15:32 Converting Recursion to Iteration
18:06 Box-Test Debug View
21:42 Increasing the Depth of the BVH
25:11 Distance Test and Child Ordering
31:47 The Surface Area Heuristic
37:19 Speeding up the Construction
38:57 32-Byte Nodes
42:20 Transformations
45:10 Supporting Multiple Models
48:45 Some Tests and Final Thoughts

Пікірлер: 1 100
@griffinschreiber6867
@griffinschreiber6867 13 күн бұрын
"Just recursively split the children in half" is my new favorite Sebastian Lague quote.
@RandomGuyJCI
@RandomGuyJCI 13 күн бұрын
The venn diagram of data structure terms and serial killer terms is a bit closer than you think 😅
@blog.daLuna
@blog.daLuna 13 күн бұрын
This is the type of thing I laugh of
@jonasgajdosikas1125
@jonasgajdosikas1125 13 күн бұрын
reminds me of the "are you being intentionally dense?" scene
@Jakwab
@Jakwab 13 күн бұрын
I was zoning-out a little, but hearing that got me immediately focused again.
@dawidjlb2589
@dawidjlb2589 13 күн бұрын
Salomon Lague
@theothetorch8016
@theothetorch8016 13 күн бұрын
"But sometimes, I suppose, one has to prioritise the computer's happiness over one's own."
@GeorgeTsiros
@GeorgeTsiros 13 күн бұрын
No. The computer must suffer lest _we_ suffer instead.
@ValeBridges
@ValeBridges 13 күн бұрын
​@@GeorgeTsirosBut if the computer is happier now, then its work will be done faster, so we can be happy with that work sooner. It's a win-win!
@GeorgeTsiros
@GeorgeTsiros 12 күн бұрын
@@ValeBridges It was mostly in jest
@SeanHarding-nv9li
@SeanHarding-nv9li 12 күн бұрын
The true Bob Ross of programming.
@chameleonedm
@chameleonedm 12 күн бұрын
@@GeorgeTsiros In my now decade of programming, I couldn't agree more
@ReissBrosStudios
@ReissBrosStudios 13 күн бұрын
I’ve never been so excited to watch an hour long coding adventure before
@rubendriezen7177
@rubendriezen7177 13 күн бұрын
Mee toooooo!!!!!
@HistoryOnPaper
@HistoryOnPaper 13 күн бұрын
I more excited that I have an hour long video to watch while I wait for a game to install
@agsystems8220
@agsystems8220 13 күн бұрын
Wait, that was almost an hour? I suppose it was!
@Josh-op6dl
@Josh-op6dl 13 күн бұрын
Same!
@muenstercheese
@muenstercheese 13 күн бұрын
the font vid was hype af too tho
@20x20
@20x20 13 күн бұрын
> I want to measure our inefficiency so that we can track improvements to it what a philosophy
@Bassalicious
@Bassalicious 13 күн бұрын
maximum inefficiency is pretty much my life motto
@christophnaber163
@christophnaber163 4 күн бұрын
Which is the correct starting point of any performance optimisation with code. NEVER just assume you know what is slowing the program down. Measure the performance „in action“. Then you start your changes.
@wesplybon9510
@wesplybon9510 13 күн бұрын
18:10 the arm waves in the reflection was so real 😂
@epiklizard6629
@epiklizard6629 13 күн бұрын
A hallmark of graphics programming
@DigitalJedi
@DigitalJedi 13 күн бұрын
@@epiklizard6629 I've been getting back into Vulkan and yeah...
@pixelz3040
@pixelz3040 13 күн бұрын
I wondered if I was the only one who saw that
@BudgiePanic
@BudgiePanic 13 күн бұрын
Side channel leaking his appearance
@calcu_
@calcu_ 12 күн бұрын
I was searching for this comment
@greenguy5294
@greenguy5294 13 күн бұрын
"Where we left off a year or so ago" dealt me 1d6 of psychic danage
@SeanHarding-nv9li
@SeanHarding-nv9li 12 күн бұрын
2d20 of old age
@benjaminkoch2380
@benjaminkoch2380 9 күн бұрын
It shows in your spelling😮
@sietzethebest
@sietzethebest 13 күн бұрын
OMG you've found the blog of my thesis supervisor (JBikker)! My thesis is related to BVHs so this video is a treat to watch :)
@milanpolle
@milanpolle 13 күн бұрын
Haha, I didn't even notice that, Jacco is a former colleague of mine, back from when I worked at Davilex Games, small world indeed. Really interesting video, I've been creating some real-time ray-tracing shaders, but nothing using triangles yet.
@sleepi5550
@sleepi5550 13 күн бұрын
Fellow Jacco student! It's surprising how often he comes up in my own research 😄
@GeorgeTsiros
@GeorgeTsiros 13 күн бұрын
Your supervisor has a very rich and informative github.
@jaccobikker
@jaccobikker 12 күн бұрын
Hey Sietze. :)
@Watashiwapitadesu
@Watashiwapitadesu 12 күн бұрын
@@jaccobikker Amazing to read that you are still teaching. The graphics course was the most engaging and fun course I've had the pleasure of taking.
@curtreyes00
@curtreyes00 13 күн бұрын
For your next coding adventure you should try some multiplayer sync stuff if you haven't already. I recently have gone down a rabbit hole of different types of network sync models and there is still a lot of nuance that is left ambiguous in even the most detailed blog posts. Something that I would personally love to see.
@SebastianLague
@SebastianLague 13 күн бұрын
Perhaps, if I’m feeling brave!
@nocluebruh3792
@nocluebruh3792 13 күн бұрын
@@SebastianLague yeah I always wondered how all of the battlefield games were able to host 64 players, events, vehicles, explosions with pretty good efficiency (benchmarked with my old crappy wifi connection) and all of that good stuff:)
@whaloob
@whaloob 13 күн бұрын
@@SebastianLagueseconding this suggestion, although I understand the hesitation 😅
@just_smilez
@just_smilez 13 күн бұрын
Network code is the path to madness
@VexVex24
@VexVex24 13 күн бұрын
@SebastianLague The world of networking has always been a mystery to me, so I would love to see you cover it.
@scgal8570
@scgal8570 13 күн бұрын
I hear the "hello everyone" and I drop anything just to watch it. 10/10 dropped my phone on a lake.
@willmungas8964
@willmungas8964 12 күн бұрын
On??
@scgal8570
@scgal8570 12 күн бұрын
@@willmungas8964 yes, on. Water physics are a WIP...
@SpringySpring04
@SpringySpring04 12 күн бұрын
​@@scgal8570 lmfaoooo
@danisob3633
@danisob3633 10 күн бұрын
@@scgal8570 mine bounced off of it. Its still bouncing, it never stops. I dont know what im doing wrong
@metactal
@metactal 4 күн бұрын
frozen lake
@Gwilo
@Gwilo 13 күн бұрын
these coding adventures get more and more complex. I reckon Sebastian's working on something big, but first has to learn every technique to its fullest before starting and then finishing it
@ClaffAMV
@ClaffAMV 13 күн бұрын
The perfect Game Engine, offering the best performance on every possible aspect hahahahah
@bullshitman155
@bullshitman155 13 күн бұрын
Sebastian in 50 years: Hello everyone and welcome to another episode of Coding Adventures. Today, I wanted to try simulating our universe.
@kidmosey
@kidmosey 13 күн бұрын
He's actually working in reverse. Started out creating a universe, now he's on figuring out light.
@eirgel38
@eirgel38 12 күн бұрын
at this point he's just doing his own thing for its own sake none of this is necessary for a game project or really anything past tech demos
@thatcatthatalwayseatsyourc1493
@thatcatthatalwayseatsyourc1493 12 күн бұрын
@@ClaffAMV with incrdeible preview rendering
@oskarristolang
@oskarristolang 13 күн бұрын
babe wake up sebastian uploaded
@warriorsfg
@warriorsfg 13 күн бұрын
@tirushone6446
@tirushone6446 13 күн бұрын
I hope he keeps these monthley uploads up that would be awesome
@qwert5959
@qwert5959 13 күн бұрын
​@@warriorsfg no 🅱️itches😔
@ThibaultM.
@ThibaultM. 12 күн бұрын
exactly
@seanloughran6714
@seanloughran6714 14 күн бұрын
That was awesome. One of the structures I've used in the past when I have all the data ahead of time is a Sort-Tile-Recursive (STR) R*Tree. You sort the data in space first, then build the tree from the bottom up. The result is a very well balanced tree that is extremely quick to query. You then set the maximum number of children in a leaf, so you get even performance. I don't know if the query times would speed up that much after your final iteration, but my guess is, the build time would be infinitely quicker. As always, just an extremely informative and entertaining video!
@SebastianLague
@SebastianLague 13 күн бұрын
I've never heard of that, but it sounds interesting -- will check it out. And thanks, I'm happy you enjoyed the video!
@knitnatsnokprogramming
@knitnatsnokprogramming 13 күн бұрын
How did you get to see the video that fast
@dogeron8132
@dogeron8132 13 күн бұрын
How tf did u watch 1hr video and replied when it only came out 1 min ago
@Jake28
@Jake28 13 күн бұрын
@@dogeron8132 60x speed
@Felix-mk3sd
@Felix-mk3sd 13 күн бұрын
How tf did you comment 23h ago when video was uploaded 18mins ago??
@hestojam
@hestojam 14 күн бұрын
Very impressive results, bravo. I keep being in awe by how you manage to make things work first, then optimize it in a structured way and without getting weighted down by premature optimizations and such.
@chadbramwell977
@chadbramwell977 14 күн бұрын
If I were to make a guess, some of the content order is following papers / intuition and the rest is messing up a bunch, taking notes along the way, and then reforming into a delightful journey for viewers. Sebastian is a wonderful storyteller that I bet embellishes certain points and spends extra time on debugging tools for us. :)
@SebastianLague
@SebastianLague 13 күн бұрын
Thank you!
@GeorgeTsiros
@GeorgeTsiros 13 күн бұрын
My absolute favorite part of your videos is that the tone of your voice is like you are _smiling_ while speaking. I do not know why, normally I would consider it condescending, but from you it sounds _honest_ People who code well are rare. Equally rare are people who can explain well. People who can do _both_ are exceedingly rare. You deserve every bit of praise you get.
@sebastianmestre8971
@sebastianmestre8971 13 күн бұрын
Hey Sebastian, cool video! There's a slightly different approach that would let you try every possible cut in the SAH without too much additional cost. Right now you're evaluating each cut by looping over all the triangles (O(N*K) cost for N triangles and K cuts), but this does not take advantage of previous evaluations. Imagine you sorted the triangles along one of the axis, then computed and stored the bounding box of each prefix and each suffix of the triangle list. Now you can evaluate each cut in constant time (child A corresponds to a prefix of the list and child B to a suffix). Sorting has cost O(N log N), but then you can try all the cuts along that axis in O(N) time. Overall, the cost is O(N log N), which should be much better than O(NK) for large values of K. Here is an outline of the general approach: sort tris along the x axis prefixes = array of length n prefixes[0] = bounding box of tri[0] for i = 1 to n-1, assign prefixes[i] = bounding box union of prefixes[i-1] and tri[i] suffixes = arraay of length n suffixes[n-1] = bounding box of tri[n-1] for i = n-2 to 0, assign suffixes[i] = bounding box union of suffixes[i+1] and tri[i] for i = 1 to n-1, the cost is i*surfaceArea(prefixes[i-1]) + (n-i)*surfaceArea(suffixes[i]) As described, the idea involves performing three sorting operations at each node of the tree, but this is not strictly necessary. If you sort all the triangles along the three axis just once at the top level, it's possible to preserve the order as you go down the tree construction algorithm. This might be too complicated to implement while keeping the code readable, though.
@jaccobikker
@jaccobikker 13 күн бұрын
Very nice video. Nice illustration of the BVH concepts! Greets, Jacco.
@JamEngulfer
@JamEngulfer 12 күн бұрын
Your student and an old colleague commented on this video as well. Just letting you know in case you wanted to say anything to them.
@KoshakiDev
@KoshakiDev 12 күн бұрын
Hi Jacco!
@bakje24
@bakje24 12 күн бұрын
this guy a real one fr fr big shout out
@toara
@toara 13 күн бұрын
Can't wait for more fluid simulation next!
@SeanHarding-nv9li
@SeanHarding-nv9li 13 күн бұрын
What about the volumetric effects?
@ms-fk6eb
@ms-fk6eb 13 күн бұрын
yeah it's been like 5 years since he made that comment about voxel erosion, I've been binging cave exploration videos and thinking about how to approach doing it myself hahaha
@ThePC007
@ThePC007 13 күн бұрын
Or rendering voxels. I’ve gone down that rabbit hole and I have yet to return. D:
@vibaj16
@vibaj16 13 күн бұрын
ray traced fluid simulation with refraction and caustics
@Werxzy
@Werxzy 13 күн бұрын
At 40:38 You have a struct that contains two float3s and two ints. If I'm remembering correctly, due to the byte alignment this will actually result in 48 bytes. because unfortunately float3s round up to 16 bytes for alignment and the 2 ints (due to the highest alignment in the struct being 16 bytes) will also take up 16 bytes. I'm not entirely sure how well you can do this, but you might try stuffing the 2 ints into each of the float3s to make two float4s. resulting in a true 32 byte node. Not 100% sure about how much better this is though.
@nielsbishere
@nielsbishere 13 күн бұрын
That depends on what language is used. HLSL aligns StructuredBuffer tightly. So in this case no extra padding is added. If it was a cbuffer you'd be right or if it was GLSL. It is still a good idea to move the int before the other float3 though, as this won't have weird behavior if you do want to store it in a cbuffer somehow..
@pitust
@pitust 12 күн бұрын
@@nielsbishere This "align up to 16 bytes" behavior is not required: the default setting of "shared" (and "packed", which is similar) leave all details up to the implementation. The option of "std140" does introduce this alignment, however, but the newer "std430" does not.
@nielsbishere
@nielsbishere 12 күн бұрын
@@pitust yup. Ssbos with the correct layout are an exception indeed
@maxmustermann3938
@maxmustermann3938 12 күн бұрын
@@pitust std430 does align float3 (or rather, vec3, which is the glsl variant) to 16 bytes. But it it doesn't have the 16 byte array stride that std140 has. For example: float[4] -> in std140, this is "similar" to float4[4], in std430 it is stored tightly like a single float4 A similar rule exists for structs in std140, which std430 also gets rid of. But std430 still has the special alignment rule for vec3.
@bejoscha
@bejoscha 13 күн бұрын
Your detailed explanation style is very much appreciated. It's often a tiny "practical" thing between "the theory" and "the final program" which is the biggest coding hurdle to overcome. Your videos are great to overcome these hurdles and learn how to approach such problems in general. Important skills well taught.
@calebgilbertyt
@calebgilbertyt 13 күн бұрын
I fell asleep watching this video and I'm not even joking, you have the calmest voice and I wouldn't trade it for anything!
@pvic6959
@pvic6959 12 күн бұрын
hes going to be like "do i take this as a compliment (calm voice) or an insult (not engaging)" LOL
@calebgilbertyt
@calebgilbertyt 12 күн бұрын
No it was engaging, I was just pretty sleepy I guess 😅 great video 👌​@@pvic6959
@JamEngulfer
@JamEngulfer 12 күн бұрын
Same! I was watching it last night and nodded off before I could finish, it’s too calming. I’m back to see the rest this morning though.
@FisheySauce
@FisheySauce 10 күн бұрын
The exploratory nature of your videos is why I will spend an hour of my life the next available moment I have watching your channel. I love learning, and as a non programmer and you just make it so fun and easy to understand. Thank you for the knowledge and enthusiasm you give me to keep knowing more. :)
@suri4Musiq
@suri4Musiq 13 күн бұрын
Your visualizations are immensely beautiful and helps understand complex concepts like BVH. I am not lying when I said, I read this and implemented this myself, but I don't believe this is what my understanding was! Much love to your work
@suri4Musiq
@suri4Musiq 13 күн бұрын
Also minor suggestion, add option to TIP on youtube videos. That way it would be easier for me or others to support your work without having to through Patreon.
@thebluetoo_
@thebluetoo_ 13 күн бұрын
always excited to watch these videos, even though i dont understand much of it, the things you accomplish are so cool to see and its nice to learn something i have no idea about!
@cachecoder
@cachecoder 13 күн бұрын
Two things I love about this channel, your ability to break down really complex programming concepts in to something easy to get my head around and the fact that your test and explainer side projects are damn near finished projects in their own right. Love it all!
@tharnaymin3591
@tharnaymin3591 13 күн бұрын
Tbh I really love your videos. Your voice always feels like you're enjoying every moment of the explanation. Not only it gives both coding knowledge but also inspiring for me to continue my coding journey. I think it does the same things for other people too. Thank you for posting those videos!
@jmlopezponce
@jmlopezponce 12 күн бұрын
The result is excellent, and the explanations are great. I think the key to sebastian's success is his attention to the small details. When he explains he may put a slight animation that you only see for 3 seconds in the video, but he has taken the time to prepare it carefully. That enhances the quality of an already 100/100 content. Thanks for taking the time to do the remaining 20% of things that enhance the content so much. Greetings from a big fan. Keep it up💪💪💪
@jbrownson
@jbrownson 7 күн бұрын
It’s incredible how well you communicate complex ideas, thanks for your videos, excellent work
@manassarpatwar
@manassarpatwar 11 күн бұрын
It's always great to watch a coding adventures video. I didn't know where the 50 minutes went by, your videos are always so interesting Sebastian!
@thechampshrimp9337
@thechampshrimp9337 13 күн бұрын
Honestly, I could watch your videos forever. Great visuals, great background music, great explanations and great concepts!
@MrVinicius5000
@MrVinicius5000 13 күн бұрын
21:11 ♫♪♫♪ I don't want to set the world on fire ♫♪♫♪
@randomnessnecesity9627
@randomnessnecesity9627 12 күн бұрын
That’s exactly what I was thinking
@JacobGordiak
@JacobGordiak 13 күн бұрын
It's perfect timing. I’ve been diving into ray tracing concepts for about a year now, and it's impressive how you've managed to pull this off so quickly. Your video is inspiring and gives me some new ideas to explore. Keep up the great work! 👍
@webtweakers634
@webtweakers634 13 күн бұрын
This visualisation of the rays hitting the model and the BVH test at 8:50 is really quite awesome. Great videos, please continue Sebastian.
@niceguysayshi5765
@niceguysayshi5765 13 күн бұрын
very nice video as always! I am implementing a simple raytracer in plain C right now as well, but i am using a simple grid instead of a BVH
@penguinmonk7661
@penguinmonk7661 13 күн бұрын
HOLY DAMN THIS GUY BLEW UP. Context, I watched this guylike 8 years ago(maybe more but it feels like 8, 20k followers thought he was underated af, actually had a chat with him briefly about how to reverse an algorithm for I think it was moving platforms, quite a shock to see him over 1 mill, its like seeing and old friend and being happy for their success, feels good :3.
@UwU-rn8xo
@UwU-rn8xo 13 күн бұрын
I remember watching your previous Raytracing Videos like it was yesterday. Its always nice to see when you upload. Keep up the great content
@stick-Iink
@stick-Iink 13 күн бұрын
Please keep making more coding adventure videos like this!
@sonik121
@sonik121 13 күн бұрын
HERE WE GOOOOO
@UtaUtaUtau
@UtaUtaUtau 13 күн бұрын
It would be fun to see you explore HDR buffers and HDR tone mapping for this series, or just color space stuff in general!
@Glampi
@Glampi 12 күн бұрын
One thing that I love about your videos is (the fact that && how) you show the optimization process: you briefly explain the idea behind the changes in code, show the actual changes and my favorite part - show a chart that shows the quantization of how productive that change was. I love seeing charts like that, but the whole process is also very entertaining to follow. How you come up with all these different ideas and what difference they make, love it.
@afreemon3
@afreemon3 13 күн бұрын
Banger as always, thanks Sebastian!
@Sven_vh
@Sven_vh 13 күн бұрын
To make the image less noisy you can look into reprojection. There is a great article made by Jacco Bikker (same guy who made the bvh article)
@nielsbishere
@nielsbishere 13 күн бұрын
Or some simple a-svgf
@user-dh8oi2mk4f
@user-dh8oi2mk4f 13 күн бұрын
I'm pretty sure that reprojection just allows for the reuse of render data from frames where the camera is in a different position, and doesn't actually decrease the amount of noise when the camera is static
@nielsbishere
@nielsbishere 13 күн бұрын
@@user-dh8oi2mk4f For realtime previews it's very useful. For offline renders it doesn't reduce the noise. And in fact reprojection would add bias. For that, you should probably use ReSTIR (DI/GI/PT) or a spatial denoiser (adds bias though).
@Oziji
@Oziji 14 күн бұрын
that was a year or so ago??????????!!!
@SebastianLague
@SebastianLague 13 күн бұрын
Apparently!
@aspectreishauntingeurope
@aspectreishauntingeurope 13 күн бұрын
hi oziji
@GeorgeTsiros
@GeorgeTsiros 13 күн бұрын
@@SebastianLague fruit flies, arrows, bananas, etc, you know how it goes.
@dariusreed1943
@dariusreed1943 13 күн бұрын
I measure the passage of time by the coming and going of Sebastian Lague videos
@stoobidthing
@stoobidthing Күн бұрын
You will not believe it if I said I've been watching your channel for over 4 years now and I have just realized today that your name is Sebastian *Lague* , always thought it was Sebastian *League* how have I not realized this
@UliTroyo
@UliTroyo 12 күн бұрын
Right into my mental model you go. What an excellent explanation!
@luigidabro
@luigidabro 13 күн бұрын
How about a kd-tree? It is a more efficient data structure for static scenes. It is so efficient because it can stop as soon as it intersects with something inside a bounding box, as it gives distance sorted boxes. The intersection math is also waay faster!
@nielsbishere
@nielsbishere 13 күн бұрын
Build times and splitting triangles can be a problem there, but if it can be baked or is just for a demo it's a good option. It will also force you to build on the cpu
@SimonBuchanNz
@SimonBuchanNz 11 күн бұрын
A quirk is that a triangle can't be split like that (well, it can, but it makes things more complex): a BVH can have each side overlap enough to get the triangles on each side fully contained. It's not a complete loss though, you can generally simply put the triangle on both sides of the tree.
@karkikarki69
@karkikarki69 13 күн бұрын
Bro has the most calming and relaxing voice ever🗣️🗣️🫠
@lowcostfish
@lowcostfish 13 күн бұрын
sounds like he's smiling the whole time :)
@johannesr8709
@johannesr8709 13 күн бұрын
I woke up sick today and this is exactly what I need rn! Thank you!
@Omnituens
@Omnituens 13 күн бұрын
I love the speed and pacing you go over things. I find a LOT of programming/tech channels on youtube they just speak at an insane pace like they are gonna explode if they stop talking and makes it so hard to watch. Your videos? *chef's kiss*
@FinaISpartan
@FinaISpartan 13 күн бұрын
When choosing where to split based on the surface area huristic, you should do a binary search instead of checking 5 arbitrary splits along an axis
@user-dh8oi2mk4f
@user-dh8oi2mk4f 13 күн бұрын
I don't think the surface area heuristic is monotonic with respect to the split position
@SeanHarding-nv9li
@SeanHarding-nv9li 11 күн бұрын
@@user-dh8oi2mk4fUse linear interpolation / marching squares-esque to estimate it
@geokou7645
@geokou7645 13 күн бұрын
This might be very inefficient but I, as a person who doesn’t code, have an idea. What if the rays were emitted from the camera, meaning that you don’t have to render any rays that don’t make it to it?
@stubman5927
@stubman5927 13 күн бұрын
he's already doing that, and it is efficient. though it is not so efficient in terms of finding rays that made it to light (it's reversed after all)
@nielsbishere
@nielsbishere 13 күн бұрын
​@stubman5927 luckily that's why NEE, MIS and gang exist. BDPT is also great if caustics are important
@Glubmonster4rl
@Glubmonster4rl 9 күн бұрын
I've never understood anything you've said, nor do I have an interest in coding but i keep coming back.
@therealdnold
@therealdnold 12 күн бұрын
Incredible Video, I love the beautiful explantation cut-aways of all these complex and hard to grasp concepts that are easy understandable thanks to you. Great work :)
@antoniofigueroa887
@antoniofigueroa887 13 күн бұрын
Sebastian: uploads a video *fifteen treseptagintilion years pass* Sebastian: uploads a video Edit1: no way I got 11 likes that’s never happened before!
@Monkeymario.
@Monkeymario. 13 күн бұрын
Lel :P
@SeanHarding-nv9li
@SeanHarding-nv9li 12 күн бұрын
>
@lejoueurfreetoplay
@lejoueurfreetoplay 10 күн бұрын
21:13 Japanese citizens on august 6 of 1945:
@juancruzdelatorre7923
@juancruzdelatorre7923 13 күн бұрын
I can't even begin to explain how much joy your videos bring me
@Jan-cb9jo
@Jan-cb9jo 12 күн бұрын
Really relaxing, satisfying and interesting to watch
@PolyRocketMatt
@PolyRocketMatt 13 күн бұрын
You have a gift of uploading a video whenever I go back to your channel to rewatch a previous one. I'm sure I'm in for an hour long treat :D
@doishid
@doishid 13 күн бұрын
thank you sebastian, an absolute pleasure to watch
@taliesinsilvercrow9736
@taliesinsilvercrow9736 12 күн бұрын
HELL YEAH I LOVE VIDEOS OF CODING RAY TRACING
@2Jovian
@2Jovian 13 күн бұрын
I appreciate your video format, straight to the point and concise. Keep up the good work! :D
@UAVXP
@UAVXP 10 күн бұрын
This is so cool! Keep this series up please!
@christiaancoetzee1696
@christiaancoetzee1696 9 күн бұрын
Half an eternity = 8 seconds The Sebastian Lague theory
@iestynne
@iestynne 12 күн бұрын
Beautiful. So satisfying, watching someone that can actually get shit done.
@LHInstrumentals
@LHInstrumentals 13 күн бұрын
Amazing as always!
@ColeZero
@ColeZero 11 күн бұрын
This Channel is really one of the best educational channels out there for this kind of topic. So much knowledge for free. Really good demonstration. Thanks for so much effort you definitely put into your videos
@Jejkobbb
@Jejkobbb 12 күн бұрын
Your optimization charts and tests are so satisfying, you should make a game where your job is to optimize a program / process / whatever. I'm sure you could think of something really cool.
@mobslicer1529
@mobslicer1529 9 күн бұрын
it's crazy that right as i wondered about ray tracing this video showed up, you're so good at explaining this stuff.
@tgpapy
@tgpapy 11 күн бұрын
Your stuff is always so incredible! You inspire me to continue learning/improving at programming, even when I don't understand stuff. Awesome video ^_^
@mrwalter1049
@mrwalter1049 13 күн бұрын
This did not feel like an hour. Well done on the video 👏 Here's to hoping you continue on exploring more and more advanced raytracing topics. This kind of content is to die for.
@peterlous853
@peterlous853 10 күн бұрын
Very nicely explained! Well done
@ThibaultM.
@ThibaultM. 13 күн бұрын
Your videos make my day every single time. Good job, keep it up 👍👍
@viccie211
@viccie211 12 күн бұрын
Loved this video Sebastian! Keep up the great work. It's a complex topic but you always seem to break it down in such a way that I can follow along.
@Dan-Levi
@Dan-Levi 10 күн бұрын
I just love these coding adventures! I'm waiting for the next one, it really is somethind i look forward to see :-) Great work.
@TheOracleFile
@TheOracleFile 13 күн бұрын
I love how you make such complex topics such easily understandable
@felixmuhlenberend7919
@felixmuhlenberend7919 12 күн бұрын
Amazing content as always!
@Crafty-Corn949
@Crafty-Corn949 13 күн бұрын
Right on time! I am so happy to see a new video!!
@onedeadsaint
@onedeadsaint 13 күн бұрын
your presentation of the subject matter is the gold standard! the way you show how everything works and the highlighting of the code as you explain it 😗👌
@JesterThomas_
@JesterThomas_ 13 күн бұрын
I look forward to your videos more than literally any other channel, this made my day!
@kipchickensout
@kipchickensout 7 күн бұрын
half way through and i LOVE it! just like your other videos! can't wait for whenever you come back to this... and any other video too :D
@iffyspeak
@iffyspeak 13 күн бұрын
i have been waiting for this and i already love it. didn't realize it's been a whole year
@suicidalbanananana
@suicidalbanananana 5 күн бұрын
Great combination of entertaining and informative as always, thanks chief! Also thx especially for the BVH article, doing some landscape stuffs myself where at the very least the basic ideas of that BVH stuff might be useful for my own performance optimizations 🤔👍
@curiouspers
@curiouspers 10 күн бұрын
That's a pure joy to watch, thank you!
@eziowayne
@eziowayne 13 күн бұрын
Love your content! Keeps me motivated to keep working on my coding projects :)
@priziuss
@priziuss 13 күн бұрын
Damn this looks so gooooooood ❤️❤️ I love your videos man keep it up !
@maxpetschack3342
@maxpetschack3342 11 күн бұрын
Some of those renders are absolutely gorgeous
@happybadger2270
@happybadger2270 13 күн бұрын
JUST today I was looking up how to build and work with a BVH. And now you drop a video on the topic. Thanks a bunch, man!
@JAYG6390
@JAYG6390 13 күн бұрын
Always stop everything to watch your very creative, informative and entertaining videos. Another great one here Sebastian 😎
@justputitdown
@justputitdown 12 күн бұрын
Whenever i see a new video released by Sebastian i just want to close off the rest of the world and enjoy it. Sebastian - I have no chance of ever being even a fraction as clever as you, but the way you explain things makes it really easy to follow and understand... Its such a great experience knowing that you will leave the video a little cleverer and more aware of things. The way you tackle problems and overcome them is really helpful. I cant wait to start implementing some aspects of these learnings into ideas i have. Thanks for making the internet a better place with your videos!
@wmd2556
@wmd2556 13 күн бұрын
Wow, Its always amazing watching your work
@hoveringgoat8061
@hoveringgoat8061 11 күн бұрын
Hey seb just wanted to say I love these vids. Theyre almost magical with the presentation and exploration of an idea.
@biggiecheese5255
@biggiecheese5255 12 күн бұрын
I love your videos, your voice is so soothing and four visuals are so easy to understand. Much love from Canada 🇨🇦 ❤
@gus3000spam
@gus3000spam 13 күн бұрын
This is, as always, incredibly interesting, motivating and soothing at the same time. Thank you for this.
@artorian2410
@artorian2410 13 күн бұрын
I love how you explain code and shows us your little mistakes in there as well. It shows the natural thought process and shows that even you are human (even though you create these wonderful visualisations). Amazing work!
@diannebadgley2866
@diannebadgley2866 11 күн бұрын
Your videos about binary options trading are always very interesting and useful. I learned a lot of new things and learned to put them into practice.
@naswinger
@naswinger 13 күн бұрын
your visualizations of what is going on and why are really good. much more interesting than plopping down a result.
@stealthdrifter4556
@stealthdrifter4556 11 күн бұрын
I love you videos Sebastian, I hope you reach more people to enjoy them
@ItsBaffledd
@ItsBaffledd 12 күн бұрын
Fantastic video breakdown, as always. Well done!
@l.zevicreations
@l.zevicreations 12 күн бұрын
HHH yes! Great job, Looking forward to seeing more :D
@Haagimus
@Haagimus 12 күн бұрын
Amazing work as always my dude. Love your content
@conorkrystad4634
@conorkrystad4634 13 күн бұрын
Another banger, I like seeing improvements to previous projects
Coding Adventure: Making a Better Chess Bot
1:01:01
Sebastian Lague
Рет қаралды 687 М.
Sigma Girl Past #funny #sigma #viral
00:20
CRAZY GREAPA
Рет қаралды 20 МЛН
I wish I could change THIS fast! 🤣
00:33
America's Got Talent
Рет қаралды 58 МЛН
Coding Adventure: Ray Tracing
37:58
Sebastian Lague
Рет қаралды 1,1 МЛН
Coding Adventure: Rendering Text
1:10:54
Sebastian Lague
Рет қаралды 612 М.
I Made a Neural Network with just Redstone!
17:23
mattbatwings
Рет қаралды 639 М.
Why Do Video Game Studios Avoid Blender?
6:49
The Cantina
Рет қаралды 302 М.
What's the biggest number you can think of...?
8:29
Pizza Man Joe
Рет қаралды 17 М.
The Secret Behind Photorealistic And Stylized Graphics
35:00
Acerola
Рет қаралды 156 М.
Coding Adventure: Simulating Fluids
47:52
Sebastian Lague
Рет қаралды 1,6 МЛН
This bizarre density toy just got an upgrade
13:04
Steve Mould
Рет қаралды 843 М.
Coding Adventure: Solar System
12:12
Sebastian Lague
Рет қаралды 842 М.
I Spent a Week Making an AI's Video Game Idea
17:51
Sebastian Lague
Рет қаралды 3,2 МЛН
天使的牙刷被小丑这么用?#short #angel #clown
0:14
Super Beauty team
Рет қаралды 14 МЛН
Забота от брата 😂 #shorts
0:31
Julia Fun
Рет қаралды 5 МЛН