I created my own Ray Tracing Engine from scratch

preview_player
Показать описание
I created my own Ray Tacing Engine from scratch!

► Leave a like to help the channel grow 👍
► Every subscription counts! 🎈

► Resources used: (not all of them are dedicated to ray tracing but the theory is the same)

🎵 Bensound - Endless Motion

#RayTracing
#NvidiaRTX
Рекомендации по теме
Комментарии
Автор

Edit: I almost forgot to point out this is all constructive criticism, I liked the video and the engine, it's some real cool stuff.

There's one or two things here that weren't mentioned but should of been, I had written a few short paragraphs about it and i clicked on a View Replies label and then my whole text disappeared so I'm just gonna do summarize it a bit because I don't wanna write the whole thing again, curse you Google developers.

He's doing raytracing, alright, path tracing to be specific, because raytracing is any rendering pipeline that involves casting at least one ray, but his engine is not representative of the industry.
He's describing all the shapes he's rendering with math equations, similar to the distance fields we use for ray marching, this isn't hard, or expensive to compute, but you do that when you're only gonna render primitives like's doing, if you wanna do a human it's just not practical to make an intersection function for it, and that's not even mentioning deformation and coloring.
Games use meshes simply because it's the most practical thing to do, but raytracing meshes is expensive, while doing a single triangle is even more trivial than the spheres he's doing, in games you typically have to do it several dozens, sometimes even millions of times, for *each* pixel, which is why resolution is one of the biggest factors to raytracing performance.
There's also the matter of shaders that follow conservation of energy and actually benefit from raytracing for something other than just reflections, and soft shadows that need to be sampled and other stuff that needs a probabilistic engine like Blender Cycles which also introduces the problem of noise, but those are rabbit holes of their own.

This engine is pretty cool, you got my like, but it should be mentioned that this engine is not gonna cut it for real applications, it's just the basics of path tracing, it's useful to learn how it works but that's about it, not expecting him to explain this stuff because it isn't the point, but it should be mentioned because then people can be lead undermine stuff like the whole RTX implementation or the DXR stuff as a whole that is meant to solve some really hard problems just because some dude wrote a raytracer engine that uses intersection equations for perfect spheres and planes to do a tiny demo showcasing some very simple path traced reflections, which runs decently at fairly low resolutions.

IchigoFurryModder
Автор

Nice! I had to do this in a computer graphics class in college --- I chose to write mine in C, and we used the Blinn-Phong reflection model. It was definitely fun, and I learned a lot about the perks and drawbacks of ray tracing technology. Subbed!

ethanoch
Автор

this legitimately looks like something from the aero era and those early Nvidia showcases/demo

pizzatowerfan
Автор

Hey! Thank you for watching :D
I hope you've enjoyed the video! This one was really hard to make, as both making the engine and editing took an insane amount of time.
If you want to support the channel, please like and subscribe, and if you could share this video, I would really be thankful!

NamePointer
Автор

I like how "human understandable" you made it; Others just jump directly onto definitions and the weird math behind it and forget most of us are just humans (not physics phds) trying to get it working just for fun

arielvinda
Автор

Really helped me for my project. Thank you.
You really deserve more views.

adammoyart
Автор

That's awesome! I made something like this when I took a graphics course back in college. Was probably my favorite thing I worked on in college. Creating a ray tracing engine was significantly easier than creating a triangle rasterization engine.

kyle
Автор

I can only say wow man, you've done an incredible job on teaching us how raytracing works. I hope my sub and like helps you out. Stay healthy.

orion
Автор

that was super cool! dude you deserve way more subs

OmegaFalcon
Автор

Now That. Is. Underrated. Period. You really need some exposure mate this talent can't go unnoticed.

BirinderSingh
Автор

Bro, you're so talented and underrated.
You've earned a sub from me!

tameronica
Автор

My partner was considering with me, adding ray tracing to the project we're working on; and while I don't know much about programming, she was worried about having to learn the Vulkan API. I wonder if this video will inspire her to develop an engine from scratch-- you make it look very easy for a person like her!

komurokaede
Автор

Wow!
That is so cool, I was looking how to make a Raycaster in C, and I got to this video, It's so cool

aaronspeedy
Автор

Just subbed, you are underrated and make great content.

GBduds
Автор

Insane! well done lad.
Consider making a Udemy course, I would love to do this

cavmangamer
Автор

You made a pretty cool software raytracer in one day. You are great

radoslavdimitrov
Автор

Awesome, dude! I did my own project like this in java, but never did any sky boxes, specular lighting, or post processing effects

mariovelez
Автор

That scene at 6:35 would be a pretty cool BotW Shrine.

galenburnett
Автор

This looks really good, I just think you should also add Refraction.

MarkVonBaldi
Автор

As a side note on your Bloom effect: Actual bloom is usually achieved by taking the threshold image and blurring it, then halving the resolution, then blurring then halving etc, then combining those immages together. That makes the effect a lot better looking. (My explanation is probably not entirely correct, I'm no expert but thsi is the basic idea)

avaze