As an odd historical paralell, this backwards ray tracing method where you start from the camera rather than the light source is exactly how Plato thought vision works. Funny to think his idea finally became relevant and useful a few thousand years later.
Yes, I thought about also. Here I have to be a little more precise, the ancient book of 300 before Christ where this method appeared is called Optics. Optics in greek means "The study of vision", in the book is presented a mathematical method (geometrical optics) to model the *way* we see. It doesn't describe light itself, but is just a tool to describe and study optical fenomena such as reflection, refraction, that is in use up to now. Seen in this way, all the people saying "Greeks thought that light rays were shooted out of our eyes" don't really understand the concept mathematical model of a physical fenomena. They didn't say any statement about the nature of light or where it comes from, just like in this same video, they thought that the modelling would be easier if the mathematical object called lightray would come out of the eyes. I hope I've explained well, this idea, that I read on Lucio Russo, The Forgotten Revolution.
Similar to conventional current vs electron flow or flow of heat vs 'flow' of cold. The math works the same if u just reverse the direction/time axis, no need to care about what actually flows.
His idea is not 'relevant and useful.' No one said "Let's use plato's theory of vision" to develop this. They literally just said "We can save on computation by only doing what the camera can see rather than 'rendering' everything and having 99.99% of it wasted since the camera isn't looking at it. Also, Plato's theory is only similar to this in basic understanding; the computer doesn't shoot light rays from the camera to see things; it is just a calculation used to decide pixel values
@@smolboi9659 No, it isn't similar to conventional current vs electron or heat vs flow of cold. First off, there is no 'flow of cold,' ever. It is always heat. Second, electron flow is negative current; that is all there is to it. These are real things, while shooting lightrays out of cameras is a mathematical model and saves on computation by ignoring everything that isn't in view, which has nothing to do with the real phenomena you have listed
How the hell does this video have less than a thousand views?? This is literally the best produced educational video I have ever seen! The animation is exremely well made. Both in terms of how intuitive everything is, but also the amazing art style. The sound design is also amazing! And the touch of having an explaining character in one corner, and "students" in the other corner nodding to what you are saying is super creative and interesting!
The little characters and sound effects give the video so much personality in addition to amazing content! I can only wish my integration by sampling lectures were as good as this explanation
Holy crap dude the insane amount of attention to detail on this is amazing, every little character blinking, the small nods, the sound effects matching the music. I cant even name it all. It really feels like taking an exciting class. i cant imagine how long this took to make. This deserves way more views than it has
While I think they are cool as he put a lot of attention and detail into them, I do find them quite distracting and even somewhat annoying considering they serve no purpose other than to entertain.
I took a Computer Graphics course in College. Our ongoing project throughout the semester was implementing and learning about raytracing. The class was fascinating, but I haven't used the knowledge since that class. Thanks for bringing back all these good memories in a very well-presented video. I was wondering when you were going to flip things around to shoot rays _from_ the camera instead.
The rays are not shooting from the camera; it is just that the only rays that are considered are in the conic of visibility that extends from the camera.
@@pyropulseIXXI In the optimized form (introduced in the video at 7:19), the rays are literally shot from the camera. Doing it the "real way" would be so incredibly inefficient that getting enough light into the sensor to create our image would be infeasible. By shooting rays from the camera into the world and running the simulation backwards, you ONLY need to simulate the rays that will actually enter the camera.
I've been doing 3d art for YEARS. and I (unfortunately) had no choice but to learn this stuff in particular. And I MUST SAY that this is the most concise, informative, creative, and easy to follow representation of this subject, or, ANY 3d subject matter I've ever seen in my life. I started as a painter and sculptor. If there was a video like this on sculpting when I started, it would have helped me IMMENSELY. I can't believe how good this is, how much information has been clearly and plainly laid out, how good the video looks, how good the sound is, how interesting the characters, and I'm just 5 mins in. Subscribed and hit the bell notif. I'd send you the youtube button MY DAMN SELF if I had one.
I just read the Wikipedia article on raytracing and learned it in less than 5 minutes. It is an incredibly simple idea. I even did a very basic calculation by hand to render an image on paper
@@pyropulseIXXII like when people think that they reading a incomplete page on the internet is better than the hundreds of scientists trying to find new ways to speed up rendering. Also, no, you cannot do path tracing by hand, if you only have a sky box and a circle you would need a few hundred thousands floating point calculations even for a 64x64 image.
Congrats on the well-deserved win! I have been in love with ray tracing for a while but it has been very much worth it to check out your explanation too. You have amazing visualizations (and visuals in general), some mathematical takes on the problems and cool methods to improve render quality/time which I didn't yet know to this extent. Awesome!
Awesome stuff! As someone that works in computer graphics doing this stuff on a daily basis, I have always wanted to make a video like this but never got around to it. You killed it! Typing up some minor corrections/deeper dives as I watch for anyone interested: * We don't use RGB because we can represent most colors humans can see with them, in fact, we can represent *all* colors humans can see with them! This works because humans have tristimulant color vision (we have 3 kinds of cones, therefore 3 degrees of freedom for our vision to work with). This means an RGB triplet is able to encode any final colour humans can see perfectly. However, using RGB to encode light-energy transport (as in ray tracing) is an imperfect approximation, since light transport effects *are not* limited to only acting on 3 degrees of freedom like human vision is. In reality, light energy is a distribution along the continuous spectrum of wavelengths of light, and the “multiplication” between the “color” of the light and the “color” of a surface is an interaction between this spectral power distribution and the reflectance characteristics of the material. For most things, the error introduced by this implication is rather minor, and so only having to store 3 number instead of many more numbers to more exactly replicate these SPDs is an acceptable optimisation. But for some phenomena it does a really terrible job, and that’s where spectral ray tracers come in! * Bi-directional in Bi-directional reflectance distribution function does not mean that it is a relation between two directions. Rather, it says that you would get the same answer out of the function no matter which of the two directions you used as the “incoming” and “outgoing” direction, which is the key observation that allows “backwards” raytracing from camera to light work (and many other more advanced light transport algorithms)! * The dot product tint is intuitive in the way you explained it, but the fact that a dot product produces the exact mathematically correct value for this tint could seem random, even if one knows that a dot product between two normalised vectors produces the cosine of the angle between them. The reason for it is actually derived in the same way that the solution to the later problem (inverse square law) is derived, and the reason these errors pop up in both cases is due to “ray” tracing not taking into account that the unit we are actually trying to calculate, radiance, is not about the light in some *direction*, but rather the light in some *solid angle*, which can be seen intuitively as a “volumetric direction.” Explaining fully how this results in both of those conclusions is outside the scope of this comment, but hopefully it provides a basis for further investigation if anyone is interested! A good place to start would be www.pbr-book.org/3ed-2018/Color_and_Radiometry/Radiometry
RGB cannot reproduce all possible colors. Look up 'color gamut' for an explanation. The laws of physics prevent any color system comprised of fixed wavelength light sources from being able to reproduce all colors the human eye can see. If you want to get even crazier look up 'imaginary colors' which can be comprised of negative stimuli. These are 'colors' that cannot be real in nature but that the brain makes up. Purple is the most common example of this concept because purple is not technically a color, but it is a superficial example.
@@knurlgnar24 "do not cite the deep magic to me, witch, I was there when it was written" ;) RGB absolutely can reproduce all possible human-visible colors -- if you allow negative coefficients. Gamuts are only relevant if you restrict to only positive values within a fixed dynamic range, as in the case of a physical monitor hardware. But this is not relevant for using RGB to represent colors in an abstract rendering context. Unbounded RGB can even produce colors that humans can't see. CIE XYZ is a tristimulus system (a simple 3x3 matrix transform from any other linear RGB encoding) which within its positive bounded gamut encompasses all human visible colors and also many that are nonphysical and unseeable in real life. And no, the laws of physics don't prevent that. What you say about purple and "fake colors" does not form the conclusions you think it does. What it actually means is the opposite -- there is no single wavelength which corresponds to every visible color, rather there are an infinite combination of wavelengths which sum to the same human visual stimulus and then produce the nonphysical sensation of "purple" which is not the sensation of some wavelength but rather the sensation of the *lack* of stimulation in green wavelengths. See "color opponency" in the human visual system :)
@@pygmalion8952 Ignoring what knurlgnar24 said, "true color" would be the color you perceive in your mind. "real color" would be the one that doesn't exist. Which makes purple 100% true like all colors and also 100% not real like all colors.
Your channel has 1/100th the subscribers I expected. Honestly a crime, came here from 3b1b's video and then binged the quantum computer videos. I'm sad now, because the 3rd episode promised we'd cover more in the next... Your visual presentation, narration (both grammatically and in recording quality), and technical explanations are on par and commonly exceed what's found in much bigger channels, with 1000x the subscribers. New concepts are introduced at a steady, manageable pace. Just.... holy shit. Holy. Shit. Well done.
Very well made video that explains difficult concepts easily - I am a researcher studying room acoustics and we use similar algorithms to simulate room reverberation. This is what makes a concert hall sound echoey or a studio sound dry. Instead of colours, we have sound reflection coefficients for surfaces (and they are often a function of frequency - a glass window will reflect more sound at higher frequencies than lower frequencies, so we design filters to simulate this behaviour for different materials). We also use the BRDF to simulate sound scattering. Ray based methods are fast but only so accurate, so there is a big push in the community to wave-based simulations which treat sound as waves instead of rays, and hence can model diffraction and scattering accurately. But for real-time applications, wave-based methods are a no-go since they require hours of compute resources even with distributed systems! Also, audio engines are given much less CPU compared to graphics engines. Ray-tracing is popular for sound engines in video games and concert-hall acoustics, but I work on delay-network based reverberators which are even faster. The ultimate trade-off is perceptual accuracy vs speed, but in VR/AR the demand for perceptual accuracy is quite high so we are constantly working on improved algorithms that give us speed AND accuracy.
At first I was thinking "this is way oversimplifying, that's a terrible abstraction to how this all works", but then you expanded and addressed every single point I was thinking you'd left out, and then plenty more. This is actually a really great breakdown that far exceeded my most optimistic hopes when I clicked on this video. By the way, what software did you use to create the 2D parts of this video?
I watched the first 5-10 minutes thinking, yes, that works, but that's a really inefficient way to do it. Then he stops and says "but that's a really inefficient way to do it." Well played.
Must have taken forever to produce this! Thanks for the great production and I hope your channel grows, only 10k subscribers aren't enough for this quality of content!
Holy quality content, Batman! I've been dipping my toes into the details of raytracing recently, and I cannot understate how *perfect* this video was for advancing my understanding. It was *just* complex enough to be mentally challenging while still being orders of magnitude more accessible than other resources I've found. Plus, the production value is off the charts, insane kudos to you for all the time and effort that went into making such a great video. You've earned my subscription tenfold, I'm incredibly excited to see your future work. This channel is a diamond in the rough and I'm so glad you were one of the 5 SoME2 winners because WOW do you ever deserve it!
Thank you for explaining in detail how my new GPU works, I always wondered why Raytracing took such a toll on my performance, little did I know how much pixel sampling that went on , behind the scenes.
You taught this so well. One of the biggest hurdles to learning is the teacher/book not deeply understanding the content and trying to teach it to others, or just not teaching it well (assuming the student knows certain things, not explaining the basics well, not putting themselves in the students shoes). The way you breakdown every touchpoint, why its done, how its done, the visual examples along with it, the clear easy to understand speech. None is overlooked and it all comes together into a fantastic learning video. I had so many piss poor teachers who could barely be labelled "teachers" growing up. I wish they were all as knowledgeable and detail oriented as you. Fantastic work. You should consider maybe making money on the side teaching courses through Pluralsight or something.
Oh. My. God. This is one of the best video I have ever seen, and by far the best and most in depth about ray tracing! It seems a crime that you got almost no views. Keep making amazing videos! =D Edit: watched this when it had under 1K views. Glad to see it got more. ; )
Awesome video! You've captured the Fenyman style of presenting a subject where everyone can walk away feeling like they get it, only to come back later and realize that the subject is fantastically complex.
one of the greatest excitements I experience is that when I find a new creator with your level of competence and eloquence. Great work man, knew I was gonna be a fan less than a minute in.
What an exceptional video! As a 3d engine programmer I can vouch for the educational content, but the presentation takes it to a whole other level. 10/10, keep making videos like this and your channel will skyrocket!
This is a vey high level production. Solid(factual) and intellegent(conveying) effort here. Hope your channel soon gets the attention it clearly deserves!
When I woke up this morning I didn't know that a furry and his 3 favorite platonic solids will teach me about modern rendering techniques. Great video! Deserves much more attention
Genuinely great video. I have experience with light transport simulation, and I am pleased to finally see a video that explains it correctly. The only complaint I have really is the fact that you don't mention path tracing, which is what is actually used most commonly to solve the rendering equation, what ray tracing actually is, and going more in depth about the BRDF. Path tracing uses ray tracing to solve the rendering equation in an unbiased way, which ultimately allows insanely high physical accuracy to be achieved and was presented in the original rendering equation paper. Ray tracing, meanwhile, technically only refers to the usage of sending a ray into a scene and doing a thing, which is super vague, so I understand why you probably left that out since otherwise it'd require a much longer explanation. Same goes for the BRDF, I assume you know more than what you said but left it out for simplicity. All in all, I like this video. Explains things correctly, the only things it gets "wrong" is not mentioning path tracing, which is the most common method of light transport simulation nowadays, and a deeper explanation of what ray tracing truly is. But those are nitpicking more than actual problems. More videos like this need to exist.
At first glance I thought this video would be boring and make me hesitate from programming, but oh boy, was this video good! I'm astonished by the quality of the overall environment, as not only is the world where the video takes place gorgeous, but so are the characters, sound and teaching! I'm from Brazil and still on highschool, and here we don't learn Integrals and Derivatives until college, but your explanation was good enough to give me a grasp about it. It's genuinely sad that your video hasn't got the attention it deserves, but it surely will! Thanks for the amazing content, I'm looking forward for more :D.
As someone who's a 3d artist I usually don't bother going in depth about how Ray Tracing works and etc But this video's like what hundreds of other comments says has brilliant vizualization and even the nice touch of the shapes nodding when they understand something and even things that may come across complex or a method that's inefficient you'd explain a workaround.
How did I not see this until 2 months later? The content quality is so damn high and the tech explained is cutting-edge. This is monumentally important for the industry.
9.4k views??? Oh this will surely blow up!! I love the little audience figures in the bottom left corner reacting to the monologue, very original, funny, and wholesome :))
This is easily the best visualization/description of raytracing I've seen. There's a lot of videos that over explain the basics and never touch the tougher stuff.
Amazing lesson and great animations! I really love the mini classroom of shapes in the corner reacting to what you're teaching, gives off a great vibe. Keep on teaching
The video has an amazing quality! Great job. I hope you’ll get the views you really deserve. And thanks for an in-depth explanation. As an idea, would be cool to also show side by side these algorithms in, e.g., blender. From theory to how it actually works in practice.
youtube recommended me this video even though i have never done anything with cgi or ray tracing and yet im still watching because you present the topic in a engaging and entertaining way nice job :D
This post brought back wonderful memories of using POVray and other programs to make " molecular movies" utilizing the output of molecular modeling software. In those days it was really exciting, still fairly new, and with POVray one could modify script files any way you wanted...it was great adding fractals and other effects - it took days to render all the frames to make a 3 minute video! Whole lotta fun.....cheers.
Would it be possible to use this technology for realistic sounds, as in calculating the path of several sound waves bouncing around the scene in real time? What would be the performance impact of "sound tracing" compared to ray tracing?
Here's a video from Two Minute Papers from 5 years ago, which is about a paper concerning what you just described: ua-cam.com/video/DzsZ2qMtEUE/v-deo.html From 2:22, you can even hear two examples of soundscapes synthesized using the technique, and I think they're not bad at all - although, I consider both of them to be unrealistically echo-y. I haven't really looked into it, but based on a quick Google search, there are at least a few other similar papers, so people have definitely had this idea for some time now.
This video is so underrated. Absolutely incredible presentation. Felt like I was watching a movie or a documentary. Everything you explained made total sense. Wow!!
this video is excellent! legit one of the best #some contributions i've seen. you've built an incredibly clear explanation of this topic, and made it very engaging too. i hope you get the recognition you deserve for this, you've more than earned it. good luck and have a great day!!
Funny you say 20 years ago. I was in Graduate school and took a computer graphics class where we used Renderman and Silicon Graphics workstations. I have seen this evolution and enjoyed it. Your video is way cool!
This video is incredible. What a thorough breakdown and walkthrough of the process and how it has evolved with great presentation. Best of its kind. Amazing work!
i am not into cgi, nor am i ever going to be working into cgi, nor do i do gaming but this is fascinating just from a technical point of view. Very well explained for an outsider.
The topic is interesting but the background music is too loud and makes it hardet ro follow the narrator, especiallt to people with hearing disabilities.
Nobody seems to be talking about how all the little sound effects match up with the background music, it really is a nice detail on top of this already amazing video
I was just going to say this. I remember running raytracing "demos" on my Amiga in the late 1980s. My university offered a course on raytracing in the early 1990s. Early 3D games like Doom used scanline rendering, which was neither ray tracing nor polygon-based rendering. At the time, it felt like practical raytracing was "just around the corner".
@@evanrhildreth - It was (in fact, several corners behind). It just wasn't _real-time_ raytracing. Also, this video confuses raytracing (that shoots rays from the camera towards the scene and calculates them _backwards,_ so it only needs to calculate rays that actually reach the camera) and photon mapping (which is indeed a more modern technique, that shoots "blobs" from the lights onto the geometry, without knowing if they'll ever hit the camera).
It was a nice little touch to add white noise while talking about rays count vs. output graininess (and such details are here & there all over the video)☝🏻
Fun fact: most computer Ray-tracers simulate light in reverse. The rays are cast from the camera and then bounced to the camera. This is extremely efficient and can be done very quickly. You can also do more than generate images with raytracing. Teardown uses Raytracing to visualize a 3D vocal grid. This method is actually quite efficient, and even the base lowest quality is fully raytraced. My favorite program for raytraced rendering, POV-Ray, is very fast for a cpu driven brute force raytracer. It also includes Radiosity, and Photos support, as well as support for complex colored shadows. And it has AntiAilasing.
That noise sfx when the image was rendered noisily at 2:00. The learner polyhedrals moving out of the way when that text was rendered on the wall at 11:55. Amazing detail!
Incredible! I love the geometric heads in the corner. It feels like I'm in a classroom and the question marks and such above them really tunes me into how I should be feeling.
Thanks! I though I was shooting in the dark when I started searching for videos about ReSTIR. And I though I was going to necessarily dig into implementation code without understanding much or any at all. But you are helping a lot!
I've been working with some simple OpenGL stuff and will soon be hopping onto PBR, this has cleared up a lot that most text couldn't. Great work and hope you do more graphics related stuff
Currently restarting a toy raytracer project, this was a nice overview of some really useful modern techniques, especially the spatial reuse, thank you,
Did anyone else notice that the classroom is the blender classroom scene. One of the most famous 3D creations within the 3D community and wider tech community as a benchmark
These videos are pure gold! If all computer graphics concepts could be visually explained that way.. I would love to see more scientific topics covered in the future like physics simulations for example. Again congratulations for all the effort you put into this channel.
God damn man, this video is incredible. So much work has been put into this, it deserves SO MUCH MORE attention. Can't believe stuff like this is available for free. Big thanks from Sweden!
Oh boy this was such a ride ! I didn't expect you to go so in depth. Thanks for all this great information ! More people should definitely see this video !
I have no idea how you have so little views - amazingly presented video and graphics with easy to understand explanations, I sat through the whole video without even noticing its length, learning something I had initially no interest in at all! Definitely looking forward to more videos from you, loving it so far!
I'm going to end up commenting this on every one of your videos haha, but seriously this is AMAZING work! The sound design, animation, and very well put-together script combine to make one of the best explanations of ray tracing on the platform!
Amazing video man, I'd have been so happy if this was there 3y ago. Back then when I read a paper I had to search for pdf because they mentioned it everywhere and finally someone mentioned what the hell a pdf is in one of them
love this video, I just always get jarred by the intense reverberating sfx that plays occasionally, especially compared to the nice background track and other, softer sfx.
This was such an incredible example of scripting and editing and animation to get a jump start in understanding this topic. Thank you for the effort you put I this incredible explanation. I hope I can hone my craft as well as you have one day.
I think the reason life doesn’t lag is because instead of one computer running everything, every particle in existence is it’s own computer which is insanely powerful, which interacts with other particles that are also their own computers. And all of this can build what is reality.
One of the best suggestions in the history of famous YT algorithm... Amazing video on all axes, worthy winner of the competition. Please don't stop, produce more content and soon a bucket full of views and subscriptions will come ;)
Wow man, incredible production. A video like this deserves millions of views
I agree. The video creator ought to get more credit for his brilliant work.
Absolutely!
You're damn right!
You're right!
ye
As an odd historical paralell, this backwards ray tracing method where you start from the camera rather than the light source is exactly how Plato thought vision works. Funny to think his idea finally became relevant and useful a few thousand years later.
Yes, I thought about also. Here I have to be a little more precise, the ancient book of 300 before Christ where this method appeared is called Optics. Optics in greek means "The study of vision", in the book is presented a mathematical method (geometrical optics) to model the *way* we see.
It doesn't describe light itself, but is just a tool to describe and study optical fenomena such as reflection, refraction, that is in use up to now.
Seen in this way, all the people saying "Greeks thought that light rays were shooted out of our eyes" don't really understand the concept mathematical model of a physical fenomena. They didn't say any statement about the nature of light or where it comes from, just like in this same video, they thought that the modelling would be easier if the mathematical object called lightray would come out of the eyes. I hope I've explained well, this idea, that I read on Lucio Russo, The Forgotten Revolution.
Similar to conventional current vs electron flow or flow of heat vs 'flow' of cold. The math works the same if u just reverse the direction/time axis, no need to care about what actually flows.
@@matteoonate7887 I didn't know this. Only heard the story second hand. Thanks for explaining
His idea is not 'relevant and useful.' No one said "Let's use plato's theory of vision" to develop this. They literally just said "We can save on computation by only doing what the camera can see rather than 'rendering' everything and having 99.99% of it wasted since the camera isn't looking at it.
Also, Plato's theory is only similar to this in basic understanding; the computer doesn't shoot light rays from the camera to see things; it is just a calculation used to decide pixel values
@@smolboi9659 No, it isn't similar to conventional current vs electron or heat vs flow of cold. First off, there is no 'flow of cold,' ever. It is always heat. Second, electron flow is negative current; that is all there is to it. These are real things, while shooting lightrays out of cameras is a mathematical model and saves on computation by ignoring everything that isn't in view, which has nothing to do with the real phenomena you have listed
How the hell does this video have less than a thousand views?? This is literally the best produced educational video I have ever seen! The animation is exremely well made. Both in terms of how intuitive everything is, but also the amazing art style. The sound design is also amazing! And the touch of having an explaining character in one corner, and "students" in the other corner nodding to what you are saying is super creative and interesting!
Bad thumbnail = less clicks, even if good video
Highly agreed
quality doesn't equate to views on youtube. it's all on the evil algo's -hands- tentacles.
@@GraveUypo yeah, unfortunately...
@@zyansheep I like the thumbnail lol why is it bad?
The little characters and sound effects give the video so much personality in addition to amazing content! I can only wish my integration by sampling lectures were as good as this explanation
He really is a genius explainer
yeah the dog is great, if you are below 10 years old. maybe he is trying to reach children
@@srmeister1 adults can like dogs too actually
@@srmeister1 troll
I find it incredibly distracting and almost couldn't watch the video because of it. Why is it needed, doesn't add anything I don't think.
Holy crap dude the insane amount of attention to detail on this is amazing, every little character blinking, the small nods, the sound effects matching the music. I cant even name it all. It really feels like taking an exciting class. i cant imagine how long this took to make. This deserves way more views than it has
While I think they are cool as he put a lot of attention and detail into them, I do find them quite distracting and even somewhat annoying considering they serve no purpose other than to entertain.
I took a Computer Graphics course in College. Our ongoing project throughout the semester was implementing and learning about raytracing. The class was fascinating, but I haven't used the knowledge since that class. Thanks for bringing back all these good memories in a very well-presented video. I was wondering when you were going to flip things around to shoot rays _from_ the camera instead.
oh good! thanks for pointing that out before i raged in the comments like a dummy.
How the hell did we have the exact same situation? Learning OpenGL was honestly such a blast for me lol
@@Tom-ef1mz It was 8 minutes into a 32 minute video
The rays are not shooting from the camera; it is just that the only rays that are considered are in the conic of visibility that extends from the camera.
@@pyropulseIXXI In the optimized form (introduced in the video at 7:19), the rays are literally shot from the camera. Doing it the "real way" would be so incredibly inefficient that getting enough light into the sensor to create our image would be infeasible. By shooting rays from the camera into the world and running the simulation backwards, you ONLY need to simulate the rays that will actually enter the camera.
I've been doing 3d art for YEARS. and I (unfortunately) had no choice but to learn this stuff in particular. And I MUST SAY that this is the most concise, informative, creative, and easy to follow representation of this subject, or, ANY 3d subject matter I've ever seen in my life. I started as a painter and sculptor. If there was a video like this on sculpting when I started, it would have helped me IMMENSELY. I can't believe how good this is, how much information has been clearly and plainly laid out, how good the video looks, how good the sound is, how interesting the characters, and I'm just 5 mins in. Subscribed and hit the bell notif. I'd send you the youtube button MY DAMN SELF if I had one.
I just read the Wikipedia article on raytracing and learned it in less than 5 minutes. It is an incredibly simple idea. I even did a very basic calculation by hand to render an image on paper
@@pyropulseIXXII like when people think that they reading a incomplete page on the internet is better than the hundreds of scientists trying to find new ways to speed up rendering.
Also, no, you cannot do path tracing by hand, if you only have a sky box and a circle you would need a few hundred thousands floating point calculations even for a 64x64 image.
The fact that he took the time and effort to render all his animations with ray tracing amazes me.
Congrats on the well-deserved win!
I have been in love with ray tracing for a while but it has been very much worth it to check out your explanation too. You have amazing visualizations (and visuals in general), some mathematical takes on the problems and cool methods to improve render quality/time which I didn't yet know to this extent.
Awesome!
Awesome stuff! As someone that works in computer graphics doing this stuff on a daily basis, I have always wanted to make a video like this but never got around to it. You killed it! Typing up some minor corrections/deeper dives as I watch for anyone interested:
* We don't use RGB because we can represent most colors humans can see with them, in fact, we can represent *all* colors humans can see with them! This works because humans have tristimulant color vision (we have 3 kinds of cones, therefore 3 degrees of freedom for our vision to work with). This means an RGB triplet is able to encode any final colour humans can see perfectly. However, using RGB to encode light-energy transport (as in ray tracing) is an imperfect approximation, since light transport effects *are not* limited to only acting on 3 degrees of freedom like human vision is. In reality, light energy is a distribution along the continuous spectrum of wavelengths of light, and the “multiplication” between the “color” of the light and the “color” of a surface is an interaction between this spectral power distribution and the reflectance characteristics of the material. For most things, the error introduced by this implication is rather minor, and so only having to store 3 number instead of many more numbers to more exactly replicate these SPDs is an acceptable optimisation. But for some phenomena it does a really terrible job, and that’s where spectral ray tracers come in!
* Bi-directional in Bi-directional reflectance distribution function does not mean that it is a relation between two directions. Rather, it says that you would get the same answer out of the function no matter which of the two directions you used as the “incoming” and “outgoing” direction, which is the key observation that allows “backwards” raytracing from camera to light work (and many other more advanced light transport algorithms)!
* The dot product tint is intuitive in the way you explained it, but the fact that a dot product produces the exact mathematically correct value for this tint could seem random, even if one knows that a dot product between two normalised vectors produces the cosine of the angle between them. The reason for it is actually derived in the same way that the solution to the later problem (inverse square law) is derived, and the reason these errors pop up in both cases is due to “ray” tracing not taking into account that the unit we are actually trying to calculate, radiance, is not about the light in some *direction*, but rather the light in some *solid angle*, which can be seen intuitively as a “volumetric direction.” Explaining fully how this results in both of those conclusions is outside the scope of this comment, but hopefully it provides a basis for further investigation if anyone is interested! A good place to start would be www.pbr-book.org/3ed-2018/Color_and_Radiometry/Radiometry
RGB cannot reproduce all possible colors. Look up 'color gamut' for an explanation. The laws of physics prevent any color system comprised of fixed wavelength light sources from being able to reproduce all colors the human eye can see. If you want to get even crazier look up 'imaginary colors' which can be comprised of negative stimuli. These are 'colors' that cannot be real in nature but that the brain makes up. Purple is the most common example of this concept because purple is not technically a color, but it is a superficial example.
Thanks for the elaboration!
@@knurlgnar24 "do not cite the deep magic to me, witch, I was there when it was written" ;)
RGB absolutely can reproduce all possible human-visible colors -- if you allow negative coefficients. Gamuts are only relevant if you restrict to only positive values within a fixed dynamic range, as in the case of a physical monitor hardware. But this is not relevant for using RGB to represent colors in an abstract rendering context. Unbounded RGB can even produce colors that humans can't see. CIE XYZ is a tristimulus system (a simple 3x3 matrix transform from any other linear RGB encoding) which within its positive bounded gamut encompasses all human visible colors and also many that are nonphysical and unseeable in real life.
And no, the laws of physics don't prevent that.
What you say about purple and "fake colors" does not form the conclusions you think it does. What it actually means is the opposite -- there is no single wavelength which corresponds to every visible color, rather there are an infinite combination of wavelengths which sum to the same human visual stimulus and then produce the nonphysical sensation of "purple" which is not the sensation of some wavelength but rather the sensation of the *lack* of stimulation in green wavelengths. See "color opponency" in the human visual system :)
@@knurlgnar24 what do you mean "true color" there is non. color is relational, not out there. it is an interaction between brain and the outer world.
@@pygmalion8952 Ignoring what knurlgnar24 said, "true color" would be the color you perceive in your mind. "real color" would be the one that doesn't exist. Which makes purple 100% true like all colors and also 100% not real like all colors.
It's amazing how most of the sounds added fits perfect with the background music. Great efforts!
Your channel has 1/100th the subscribers I expected. Honestly a crime, came here from 3b1b's video and then binged the quantum computer videos. I'm sad now, because the 3rd episode promised we'd cover more in the next...
Your visual presentation, narration (both grammatically and in recording quality), and technical explanations are on par and commonly exceed what's found in much bigger channels, with 1000x the subscribers. New concepts are introduced at a steady, manageable pace.
Just.... holy shit. Holy. Shit. Well done.
Well, now it blew up.
3b1r*
Which 3b1b vid
Congratulations. I'm a programmer and into amateur 3d animation. This is exactly the kind of video I never knew I wanted to see.
Very well made video that explains difficult concepts easily - I am a researcher studying room acoustics and we use similar algorithms to simulate room reverberation. This is what makes a concert hall sound echoey or a studio sound dry. Instead of colours, we have sound reflection coefficients for surfaces (and they are often a function of frequency - a glass window will reflect more sound at higher frequencies than lower frequencies, so we design filters to simulate this behaviour for different materials). We also use the BRDF to simulate sound scattering. Ray based methods are fast but only so accurate, so there is a big push in the community to wave-based simulations which treat sound as waves instead of rays, and hence can model diffraction and scattering accurately. But for real-time applications, wave-based methods are a no-go since they require hours of compute resources even with distributed systems! Also, audio engines are given much less CPU compared to graphics engines. Ray-tracing is popular for sound engines in video games and concert-hall acoustics, but I work on delay-network based reverberators which are even faster. The ultimate trade-off is perceptual accuracy vs speed, but in VR/AR the demand for perceptual accuracy is quite high so we are constantly working on improved algorithms that give us speed AND accuracy.
At first I was thinking "this is way oversimplifying, that's a terrible abstraction to how this all works", but then you expanded and addressed every single point I was thinking you'd left out, and then plenty more. This is actually a really great breakdown that far exceeded my most optimistic hopes when I clicked on this video.
By the way, what software did you use to create the 2D parts of this video?
it looks looks like manim lib by 3b1b
I watched the first 5-10 minutes thinking, yes, that works, but that's a really inefficient way to do it. Then he stops and says "but that's a really inefficient way to do it." Well played.
As they taught us at university, learn the fundamentals first, and the shortcuts later.
Must have taken forever to produce this! Thanks for the great production and I hope your channel grows, only 10k subscribers aren't enough for this quality of content!
Love the little dice in the corner.
Gives a bit of extra life to a very dense (and interesting) subject.
Holy quality content, Batman! I've been dipping my toes into the details of raytracing recently, and I cannot understate how *perfect* this video was for advancing my understanding. It was *just* complex enough to be mentally challenging while still being orders of magnitude more accessible than other resources I've found. Plus, the production value is off the charts, insane kudos to you for all the time and effort that went into making such a great video.
You've earned my subscription tenfold, I'm incredibly excited to see your future work. This channel is a diamond in the rough and I'm so glad you were one of the 5 SoME2 winners because WOW do you ever deserve it!
Thank you for explaining in detail how my new GPU works, I always wondered why Raytracing took such a toll on my performance, little did I know how much pixel sampling that went on , behind the scenes.
You taught this so well. One of the biggest hurdles to learning is the teacher/book not deeply understanding the content and trying to teach it to others, or just not teaching it well (assuming the student knows certain things, not explaining the basics well, not putting themselves in the students shoes). The way you breakdown every touchpoint, why its done, how its done, the visual examples along with it, the clear easy to understand speech. None is overlooked and it all comes together into a fantastic learning video.
I had so many piss poor teachers who could barely be labelled "teachers" growing up. I wish they were all as knowledgeable and detail oriented as you. Fantastic work. You should consider maybe making money on the side teaching courses through Pluralsight or something.
Oh. My. God. This is one of the best video I have ever seen, and by far the best and most in depth about ray tracing! It seems a crime that you got almost no views. Keep making amazing videos! =D
Edit: watched this when it had under 1K views. Glad to see it got more. ; )
View count : fixed
It boggles me how this video has so little views but such high quality, definitely looking forward to the future content of this channel!
Awesome video! You've captured the Fenyman style of presenting a subject where everyone can walk away feeling like they get it, only to come back later and realize that the subject is fantastically complex.
who is Fenyman?
one of the greatest excitements I experience is that when I find a new creator with your level of competence and eloquence. Great work man, knew I was gonna be a fan less than a minute in.
And of course he uses manim🙌🏻
love the dramatic sounds! they're so exaggerated yet still somehow make for a wonderful video
*it makes
The production and writing on this video is mind-blowing. I knew most of it and still stayed glued to my screen.
What an exceptional video! As a 3d engine programmer I can vouch for the educational content, but the presentation takes it to a whole other level. 10/10, keep making videos like this and your channel will skyrocket!
I love the video and especially the reactions of those little cute shapes down on the left 🥺🥺
This is a vey high level production. Solid(factual) and intellegent(conveying) effort here. Hope your channel soon gets the attention it clearly deserves!
When I woke up this morning I didn't know that a furry and his 3 favorite platonic solids will teach me about modern rendering techniques.
Great video! Deserves much more attention
Congrats on winning SoME2 such a wonderful video :o
Genuinely great video. I have experience with light transport simulation, and I am pleased to finally see a video that explains it correctly. The only complaint I have really is the fact that you don't mention path tracing, which is what is actually used most commonly to solve the rendering equation, what ray tracing actually is, and going more in depth about the BRDF. Path tracing uses ray tracing to solve the rendering equation in an unbiased way, which ultimately allows insanely high physical accuracy to be achieved and was presented in the original rendering equation paper. Ray tracing, meanwhile, technically only refers to the usage of sending a ray into a scene and doing a thing, which is super vague, so I understand why you probably left that out since otherwise it'd require a much longer explanation. Same goes for the BRDF, I assume you know more than what you said but left it out for simplicity. All in all, I like this video. Explains things correctly, the only things it gets "wrong" is not mentioning path tracing, which is the most common method of light transport simulation nowadays, and a deeper explanation of what ray tracing truly is. But those are nitpicking more than actual problems. More videos like this need to exist.
I thought it was weird too
i love the little platonic guys listening to the presentation
At first glance I thought this video would be boring and make me hesitate from programming, but oh boy, was this video good!
I'm astonished by the quality of the overall environment, as not only is the world where the video takes place gorgeous, but so are the characters, sound and teaching! I'm from Brazil and still on highschool, and here we don't learn Integrals and Derivatives until college, but your explanation was good enough to give me a grasp about it.
It's genuinely sad that your video hasn't got the attention it deserves, but it surely will! Thanks for the amazing content, I'm looking forward for more :D.
Please change the cover of this video to screenshot of the minute 1:39 or something similar this video deserves more views - amazing work👏👏
As someone who's a 3d artist I usually don't bother going in depth about how Ray Tracing works and etc
But this video's like what hundreds of other comments says has brilliant vizualization and even the nice touch of the shapes nodding when they understand something and even things that may come across complex or a method that's inefficient you'd explain a workaround.
Congrats on winning SoMe2!
How did I not see this until 2 months later? The content quality is so damn high and the tech explained is cutting-edge. This is monumentally important for the industry.
9.4k views??? Oh this will surely blow up!! I love the little audience figures in the bottom left corner reacting to the monologue, very original, funny, and wholesome :))
It's finally catching on!
This is easily the best visualization/description of raytracing I've seen. There's a lot of videos that over explain the basics and never touch the tougher stuff.
Wow this was done dirty by the algorithm... Congratulations on the win!
I love the three little guys on the bottom left, they remind me Pixar's knick knack
Amazing lesson and great animations! I really love the mini classroom of shapes in the corner reacting to what you're teaching, gives off a great vibe. Keep on teaching
7:53 It's amazing how you also timed the animations to sync up with what you're saying.
Incredible job, man! More than worth the wait!
Insane production quality.
The video has an amazing quality! Great job. I hope you’ll get the views you really deserve. And thanks for an in-depth explanation.
As an idea, would be cool to also show side by side these algorithms in, e.g., blender. From theory to how it actually works in practice.
I like when the 3d shapes get anxious when complicated information comes in
I vibe with the yellow guy, he's got sunglasses and is an absolute blockhead
Dudes a total block-head!
youtube recommended me this video even though i have never done anything with cgi or ray tracing and yet im still watching because you present the topic in a engaging and entertaining way
nice job :D
Tried to watch this to fall asleep but it’s too engaging
This post brought back wonderful memories of using POVray and other programs to make " molecular movies" utilizing the output of molecular modeling software. In those days it was really exciting, still fairly new, and with POVray one could modify script files any way you wanted...it was great adding fractals and other effects - it took days to render all the frames to make a 3 minute video! Whole lotta fun.....cheers.
Would it be possible to use this technology for realistic sounds, as in calculating the path of several sound waves bouncing around the scene in real time? What would be the performance impact of "sound tracing" compared to ray tracing?
I suppose the issue there is the difference between transverse and longitudinal waves
Here's a video from Two Minute Papers from 5 years ago, which is about a paper concerning what you just described: ua-cam.com/video/DzsZ2qMtEUE/v-deo.html
From 2:22, you can even hear two examples of soundscapes synthesized using the technique, and I think they're not bad at all - although, I consider both of them to be unrealistically echo-y.
I haven't really looked into it, but based on a quick Google search, there are at least a few other similar papers, so people have definitely had this idea for some time now.
This video is so underrated. Absolutely incredible presentation. Felt like I was watching a movie or a documentary. Everything you explained made total sense. Wow!!
this video is excellent! legit one of the best #some contributions i've seen. you've built an incredibly clear explanation of this topic, and made it very engaging too. i hope you get the recognition you deserve for this, you've more than earned it. good luck and have a great day!!
Funny you say 20 years ago. I was in Graduate school and took a computer graphics class where we used Renderman and Silicon Graphics workstations. I have seen this evolution and enjoyed it. Your video is way cool!
Normal people don't know how much of a genius talent it requires to produce such masterpiece.
If all educational content was made this way.....
This video is incredible. What a thorough breakdown and walkthrough of the process and how it has evolved with great presentation. Best of its kind. Amazing work!
Nice video, but too much blur everywhere, I can't even read some times..
i am not into cgi, nor am i ever going to be working into cgi, nor do i do gaming
but this is fascinating just from a technical point of view. Very well explained for an outsider.
The topic is interesting but the background music is too loud and makes it hardet ro follow the narrator, especiallt to people with hearing disabilities.
Nobody seems to be talking about how all the little sound effects match up with the background music, it really is a nice detail on top of this already amazing video
"How Ray Tracing (Modern CGI) Works" - Raytracing is hardly "modern CGI". It's been done since the 1970s.
I was just going to say this. I remember running raytracing "demos" on my Amiga in the late 1980s. My university offered a course on raytracing in the early 1990s. Early 3D games like Doom used scanline rendering, which was neither ray tracing nor polygon-based rendering. At the time, it felt like practical raytracing was "just around the corner".
@@evanrhildreth - It was (in fact, several corners behind). It just wasn't _real-time_ raytracing.
Also, this video confuses raytracing (that shoots rays from the camera towards the scene and calculates them _backwards,_ so it only needs to calculate rays that actually reach the camera) and photon mapping (which is indeed a more modern technique, that shoots "blobs" from the lights onto the geometry, without knowing if they'll ever hit the camera).
It was a nice little touch to add white noise while talking about rays count vs. output graininess (and such details are here & there all over the video)☝🏻
the wolf thing is weird
Fun fact: most computer Ray-tracers simulate light in reverse. The rays are cast from the camera and then bounced to the camera. This is extremely efficient and can be done very quickly. You can also do more than generate images with raytracing. Teardown uses Raytracing to visualize a 3D vocal grid. This method is actually quite efficient, and even the base lowest quality is fully raytraced.
My favorite program for raytraced rendering, POV-Ray, is very fast for a cpu driven brute force raytracer. It also includes Radiosity, and Photos support, as well as support for complex colored shadows. And it has AntiAilasing.
It’s so cool that simulating almost an entire physical environment is easier and faster than any other method currently known.
That noise sfx when the image was rendered noisily at 2:00. The learner polyhedrals moving out of the way when that text was rendered on the wall at 11:55. Amazing detail!
I love the way that the sound effects from the objects interact with the music
I'm a physics teacher, and often have to describe similar topics. This explanation is excellent, and the visualization is extraordinary. Well done.
Incredible! I love the geometric heads in the corner. It feels like I'm in a classroom and the question marks and such above them really tunes me into how I should be feeling.
Thanks! I though I was shooting in the dark when I started searching for videos about ReSTIR. And I though I was going to necessarily dig into implementation code without understanding much or any at all. But you are helping a lot!
stumbled across your channel and fell in love with it
I just needed to post a comment complimenting you on this beautiful video.
I've been working with some simple OpenGL stuff and will soon be hopping onto PBR, this has cleared up a lot that most text couldn't. Great work and hope you do more graphics related stuff
Im just commenting to boost up the engagement numbers. Really good video!
Holy shit! This video quality is insanely good! Glad it got recommended to me, and I hope it gets recommended to many others!
I've been a 3d artist for 2 years now and this video helped me really understand what I do on the software. Thanks! Amazing work.
mate this production is indredible!
I was taught ray tracing by a furry,
it's outstanding what the internet can offer. Keep the amazing work pal
Currently restarting a toy raytracer project, this was a nice overview of some really useful modern techniques, especially the spatial reuse, thank you,
Did anyone else notice that the classroom is the blender classroom scene. One of the most famous 3D creations within the 3D community and wider tech community as a benchmark
this is truly on a similar level to 3blue1brown, please continue to make videos!
These videos are pure gold! If all computer graphics concepts could be visually explained that way..
I would love to see more scientific topics covered in the future like physics simulations for example.
Again congratulations for all the effort you put into this channel.
I've seen this video many times by now, and I can't unseen the Decals Z Fighting in the BG aaaah
God damn man, this video is incredible. So much work has been put into this, it deserves SO MUCH MORE attention. Can't believe stuff like this is available for free. Big thanks from Sweden!
Oh boy this was such a ride ! I didn't expect you to go so in depth. Thanks for all this great information ! More people should definitely see this video !
I just randomly found this video, this definitely is quality educational content.
I have no idea how you have so little views - amazingly presented video and graphics with easy to understand explanations, I sat through the whole video without even noticing its length, learning something I had initially no interest in at all! Definitely looking forward to more videos from you, loving it so far!
I'm going to end up commenting this on every one of your videos haha, but seriously this is AMAZING work! The sound design, animation, and very well put-together script combine to make one of the best explanations of ray tracing on the platform!
The animation, graphics, and choice of music lend this a pretty remarkable vibe for an educational video. Very nice.
Amazing video man, I'd have been so happy if this was there 3y ago. Back then when I read a paper I had to search for pdf because they mentioned it everywhere and finally someone mentioned what the hell a pdf is in one of them
Thoroughly appreciated this video!! I knew my linear algebra courses would come in handy some day
love this video, I just always get jarred by the intense reverberating sfx that plays occasionally, especially compared to the nice background track and other, softer sfx.
This was such an incredible example of scripting and editing and animation to get a jump start in understanding this topic. Thank you for the effort you put I this incredible explanation. I hope I can hone my craft as well as you have one day.
Very high quality video. I've only seen the kurzgezagd video before, and man what a progress...
I think the reason life doesn’t lag is because instead of one computer running everything, every particle in existence is it’s own computer which is insanely powerful, which interacts with other particles that are also their own computers. And all of this can build what is reality.
This video is incredibly underrated. It explains everything clearly and in detail.
One of the best suggestions in the history of famous YT algorithm... Amazing video on all axes, worthy winner of the competition. Please don't stop, produce more content and soon a bucket full of views and subscriptions will come ;)
Nah no way this channel doesnt even have a profile picture but this much quality 💀