Ray Marching for Dummies!

preview_player
Показать описание
Twitter: @The_ArtOfCode

Live version:

Most 3d shaders you see out there make use of this technique. Its the bigger brother of the more well know ray tracing technique. It's called ray marching and in this video I'll explain in detail how this technique works so you can start making cool 3d graphics yourself!
Рекомендации по теме
Комментарии
Автор

--> receives free lesson --> shamelessly complaints about audio quality... Seriously? Thank you Martijn for this super useful video!

upalmucha
Автор

Looks like Christmas came early! This is the best explanation of ray marching I have come across. Thank you!!

Hypnoticshark
Автор

I replicated this in Blender with the node editor. It is probably the most impractical thing I've made, but it was fun. Thanks for the great explanation/tutorial!

krisp-
Автор

This is such an amazing explanation of the math behind raymarching - thanks so much! Everyone should sign up for the Patreon!

bbrws
Автор

Thank you for this amazing tutorial! I successfully implemented my first ray marching shader on my renderer. It looks awesome!

nuty
Автор

Thank you! This is one of the best tutorials for anything I have seen in my life. Simple enough to grasp as a beginner, yet it's simple without glossing anything over so you really get to understand everything you learn here. An excellent starting point for anyone interested in ray marching!

jobemattcurr
Автор

I was watching a series of videos on Ray Marching lately and all skipped on many details and things, focusing only on cool effects and fractals, thankfully i found this video to help me understand all the basic elements
Amazing work!

Udinanon
Автор

This really is for dummies. Thanks for the amazingly clear explanation! Would love to see more stuff coming out :)

sagielevy
Автор

damn you're crazy... explained such a complex topic, that even I could understand everything you said with only one time viewing the video... Big props

kovnokl
Автор

The way you explained it makes a lot of sense and I feel like I understand *how* everything works, so thank you for that! You're a great teacher!

Dezomm
Автор

Yeaayaa, omg I'm so glad you exist! Not knowing how to program shaders is a very subtle restriction like.... sheeesh describing how it feels to be limited by it is tough...


Ok, it's like loving to work on cars, but you can't touch the electrical systems. You can master whatever as long as wired parts remain a mystery. The longer you do it, the more apparent it becomes that simple fixes can become ugly kludges, large-scale improvements rarely feel perfect, and when you're done... there are haunting moments when you just gotta hope the lights come on, the car will start, and it won't die in front of anyone later on.

anotherplatypus
Автор

I'm impressed what Ray Marching can do! Feels magical

arkondigital
Автор

Great introduction to ray marching.
Small nitpick: While your function for computing normals works for your sphere case, I recommend using central difference instead of forward difference like you did when computing the surface gradient. You also shouldn't normalize, but instead divide your gradient with the epsilon. In most non-trivial cases the actual gradient is a better surface approximation than the renormalized vector. So you get vec3(f(x+eps, y, z)-f(x-eps, y, z), f(x, y+eps, z)-f(x, y-eps, z), f(x, y, z+eps)-f(x, y, z-eps)) * (1./eps).

It is also useful for people to know that because surface normals are done with gradients, it is extremely important that the distance function is smooth everywhere. Sharp corners, discontinuities and stuff like that have a nasty tendency to mess up lighting. It is sometimes helpful to render the gradients as colors for debugging.

Madsy
Автор

Awesome! This sorta stuff is a bit beyond me but I like knowing the general gist.
This was so well made I really feel like I do know the gist now, thanks!

PAEz...
Автор

Awesome explanation. You make some top quality content, good sir. Much appreciated!

stromboli
Автор

Had been meaning to try this technique for years, but only just got around to it. This video was an amazingly good sanity check. Thank you so much for making it!

JunkerJames
Автор

The fact that you can create something like this out of small samples of code and some very neat core ideas, makes me believe that it could actually be possible to simulate a world so realistic people don't notice right away they are in one

Michallote
Автор

This is an amazing explanation of the marching rays. Awesome!

dipaco_
Автор

This channel fits like a glove. Thank you for the work !

bruninhohenrri
Автор

Just found this tutorial and even though I'm not doing it in a shader (I wanted to make it in python) I find this very useful so a big thank you!

kimnielsen