Signed Distance Functions & Ray-Marching

  Рет қаралды 34,509

Sum and Product

Sum and Product

Күн бұрын

Пікірлер: 38
@MusicEngineeer
@MusicEngineeer Жыл бұрын
Thank you. This may be very helpful for writing graphics rendering code.
@sumandproduct
@sumandproduct Жыл бұрын
I hope it will! When actually coding this, there are dozens of edge cases and practical problems to solve. But I hope that at least the mathematical foundation was made clear in the video.
@jurgenrichter-gebert
@jurgenrichter-gebert Жыл бұрын
WOW. Very smooth....Next Level! Literally!
@sumandproduct
@sumandproduct Жыл бұрын
Thank you very much! 😄
@Roxor128
@Roxor128 Жыл бұрын
Ray-marching for collision-detection? Sounds useful. How to handle the different shapes of the objects involved, though? Could be a topic for a new video.
@sumandproduct
@sumandproduct Жыл бұрын
I've only used it for simple physics simulations where the objects moving around are small circles. But it's probably worth looking into more...
@Roxor128
@Roxor128 Жыл бұрын
@@sumandproduct Yeah, I can see how you'd do sphere-anything collision. Subtract the sphere's radius from the SDF of whatever it might hit and then ray-march the same as if you're rendering the scene. Basically, making a rounded box and doing sphere-box collision would be the same process. The real headscratcher is how to handle other shapes and the potential rotation that would be introduced when they collide.
@sumandproduct
@sumandproduct Жыл бұрын
@@Roxor128 From what I learned during the research for this video, I wouldn't be surprised if checking for collision of two arbitrary SDFs is just not possible.
@bigfloppa9220
@bigfloppa9220 Жыл бұрын
@@sumandproduct it is actually possible, but it requires gradient descent on the sdfs, and likely only works on true sdfs, not ones created using the unions of the shapes. it boils down to reducing the problem to the same one as colliding sphere sdfs, but by solving the system of equations formed by the two sdfs you are colliding. very possible, but time consuming and not very performant, as opposed to using bounding volumes to perform collision detection. There are several papers on it from Nvidia/other graphics researchers, and I think it probably does have it's place in physics simulations
@sumandproduct
@sumandproduct Жыл бұрын
@@bigfloppa9220 Oh, that makes sense, yes. Thank you!
@johnchessant3012
@johnchessant3012 Жыл бұрын
Great video!
@sumandproduct
@sumandproduct Жыл бұрын
Thank you!
@AnirudhMathur-qq9ch
@AnirudhMathur-qq9ch 27 күн бұрын
I have been searching for a channel like yours for so long. You just earned a sub 🫶
@Asalraalaikum
@Asalraalaikum 8 ай бұрын
S tier video 👏 Thank you!
@ryanjbuchanan
@ryanjbuchanan Жыл бұрын
Very well made video 😄
@cadenmccorvey4153
@cadenmccorvey4153 Жыл бұрын
amazing video and extremely informative!
@VRchitecture
@VRchitecture Жыл бұрын
Lovely introduction! It’s nice you not only mentioned what SDFs are but also derived a couple of basics ones 👏🏻 P.S. Though ray marching usage is pretty rare, typically we render “pre-baked” 3D geometry (stored as a list of vertices and normals not its mathematical description) with some sort of ray tracing.
@shadow15kryans23
@shadow15kryans23 Жыл бұрын
This is a good video 👏
@CompanionCube
@CompanionCube Жыл бұрын
This is a good comment 👏
@freizagen
@freizagen Ай бұрын
you make video course on shaders and sdf. i will buy it
@oncedidactic
@oncedidactic Жыл бұрын
Very nice video! I learned a lot of new perspectives. As someone who works with spatial analysis tools on large datasets, I often wonder about how graphics approaches work versus the implementations of basic spatial relationship calculations. There is obviously much conceptual overlap, and I’m curious how many techniques are shared directly.
@torikenyon
@torikenyon Жыл бұрын
I’m confused, is just a different way to write the dot product, or is it something different?
@sumandproduct
@sumandproduct Жыл бұрын
It is the dot product!
@ValkyRiver
@ValkyRiver Жыл бұрын
How does ray marching work in spherical or hyperbolic geometries?
@sumandproduct
@sumandproduct Жыл бұрын
I imagine it works similarly whenever you have a metric.
@starplatinum3305
@starplatinum3305 7 ай бұрын
how to do collisions tho ? you have source for that ?
@sumandproduct
@sumandproduct 7 ай бұрын
I have nothing on hand, as I don't use it much for physics. (Except sphere-vs-SDF, which is automatic.) But there's a new paper, which looks interesting: doi.org/10.1016/j.cagd.2024.102305 Haven't had time yet to read it, though.
@alexandersedykh9280
@alexandersedykh9280 3 ай бұрын
Why do we need to calculate the minimum distance to an object that is not located exactly in the direction of the ray?
@sumandproduct
@sumandproduct 3 ай бұрын
Because in general, we don't know which objects lie in the direction we are looking. We can do a step before by looking at the "axes-aligned bounding box". This so-called AABB is the smallest box containing the object. We can intersect the ray with these boxes to check which objects are even candidates for a full intersection check. But in some way or another, we have to look at all objects.
@thecritiquer9407
@thecritiquer9407 Жыл бұрын
finally a french competitor to 3blue1browm
@jurgenrichter-gebert
@jurgenrichter-gebert Жыл бұрын
@@markusa.stokkenes2271 He IS German ;-)
@notwithouttext
@notwithouttext Жыл бұрын
@@w花b no they mean the COMPETITOR is french not the competitor's VIDEO
@notwithouttext
@notwithouttext Жыл бұрын
although, i think they're german, since the channel is in germany
@ArnaudMEURET
@ArnaudMEURET Жыл бұрын
Doesn’t sound French at all. German. France produced Fabrice Bellard and that’s enough for a few centuries 😅
@judef
@judef 21 күн бұрын
🇩🇪
Introduction to Projective Geometry via Tic-Tac-Toe Grids
21:26
Sum and Product
Рет қаралды 55 М.
An introduction to Raymarching
34:03
kishimisu
Рет қаралды 166 М.
SDF (signed distance function)
7:38
CGMatter
Рет қаралды 12 М.
introduction to Signed Distance Fields
10:16
chris biscardi
Рет қаралды 14 М.
Ray Marching, and making 3D Worlds with Math
6:28
SimonDev
Рет қаралды 264 М.
Understanding Lagrange Multipliers Visually
13:18
Serpentine Integral
Рет қаралды 380 М.
How prime numbers protect your privacy #SoME2
13:25
NamePointer
Рет қаралды 13 М.
I Made A Blob Shooting Game With Ray Marching
13:33
Visionary 3D
Рет қаралды 44 М.
Watching Neural Networks Learn
25:28
Emergent Garden
Рет қаралды 1,4 МЛН