NVScene 2015 Session: How to Create Content with Signed Distance Functions (Johann Korndörfer)
NVScene3 HN recommenders · recommended in 3 months, 2017-2018
35K views · 11 years ago · talk · evergreen
Johann Korndorfer's NVScene 2015 talk on building content with signed distance functions. It focuses on patterns that make SDF modelling more structured, arguing that SDFs capture a shape's essence like vector graphics do compared with polygons or voxels.
Recommended as an excellent talk from a demoscene practitioner on how to build sophisticated scenes from distance functions.
3:36elevated by Rgba & TBC | 4k intro (FullHD 1080p demoscene demo)
Demoscene High-Quality Videos (Annikras)
317K views • 15 years ago
0:43puls (256 bytes)
JanRrrolaKadlec
36K views • 17 years ago
24:46Painting a Character with Maths
Inigo Quilez
458K views • 5 years ago
30:46Alex Evans at Umbra Ignite 2015: Learning From Failure
Media Molecule
68K views • 11 years ago
15:00I wrote a Raytracer for DOS, 16 VGA colors
Bisqwit
905K views • 15 years ago
1:29:59Moleman 2 - Demoscene - The Art of the Algorithms (2012)
Vakondok (Moleman)
329K views • 14 years ago
14:28Superpositions, Sudoku, the Wave Function Collapse algorithm.
Martin Donald
764K views • 6 years ago
11:02fr-08: .the .product by farbrausch | 64k intro (2000) (720p HQ demoscene demo)
Demoscene High-Quality Videos (Annikras)
197K views • 15 years ago
1:22:13HandmadeCon 2016 - History of Software Texture Mapping in Games
Molly Rocket
15K views • 9 years ago
3:05Hartverdrahtet - Akronyme Analogiker | 4k Revision 2012
Demoscene High-Quality Videos (Annikras)
340K views • 14 years ago
4:45Sparse Voxel Octree (SVO) Demo by Jon Olick
Zelexi
191K views • 17 years ago
3:36Elevated by RGBA and TBC
BUTTONTANG
974K views • 17 years ago
42:00I painted a Landscape with Mathematics
Inigo Quilez
812K views • 4 years ago
7:15Farbrausch - fr-041: debris. [HD]
kb
229K views • 17 years ago
9:32Disney's Practical Guide to Path Tracing
Walt Disney Animation Studios
914K views • 10 years ago
35:45World Building in Blender - Ian Hubert
Blender
2.2M views • 7 years ago
4:17AI Learns Noise Filtering For Photorealistic Videos | Two Minute Papers #215
Two Minute Papers
65K views • 8 years ago
1:25:348 Bit & '8 Bitish' Graphics-Outside the Box
GDC Festival of Gaming
568K views • 9 years ago
1:10:00A Deep Dive into Nanite Virtualized Geometry
SIGGRAPH Advances in Real-Time Rendering
278K views • 5 years ago
3:35Intrinsic Gravity by Still
TiXL
224K views • 11 years ago
3 comments from Hacker News
Here's a presentation from one of the mercury guys explaining how to do that kind of thing: ▶ this video Also, elevated from RGBA should probably be mentioned since iq ( link ) is the guy behind Shadertoy. (Also because it's pretty.) link
Hg ( link ) is a great resource. I'm not a fan of the non-commercial license. The intro on the top of the site has a lot of great links to resources outside of iq, including the pouet.net thread on Raymarching, John Hart's original sphere tracing paper, and enhanced sphere tracing, as well as the author's original talk from NVScene 2015 ( ▶ this video ). Definitely check out all of these resources. If you're more interested in signed distance fields outside of the shadertoy\demo scene use cases there are a lot of interesting resources out there written by people using them in more complex contexts. Alex Evans (Media Molecule) Dreams talk is awesome. You can see the talk here ( link ) and read the slides here ( link ). link covers how to generate meshes. With modern hardware with ballot\shuffle there are probably more efficient ways to do this in a compute shader now, but the talk is still good. Epic games siggraph presentation ( link ) is a good explanation of how UE4 uses signed distance fields for ambient occlusion and shadows. Q-Games presentation ( link ) on how the now defunct Game Tomorrow Children uses signed distance fields for dynamic world space reflections. Voxel Quest ( link ), a "failed" kickstarter project, has some good write ups of how he's built the engine over the years as well as source code. Unbound.io gave a talk at GTC 2017 ( link ) that goes into some detail on their signed distance field VR sculpting app. There are of course more resources t
I think that's a pretty nice overview you have. One thing I would clarify is about how the objects in the scene are represented mathematically: it's done using 'signed distance functions' so every object you have in the scene is actually created through one of these functions which takes a point in 3D space and returns the distance to the nearest point on the object's surface to that point—which does, as you say, make the object/ray intersection testing trivial (the return value of this function is the radius of the sphere used to step along the ray). The other basic components when creating scenes to be raymarched are distance functions which combine other distance functions together. The simplest cases are just union and intersection, but it's easy to get more interesting things like smoothly blending objects together. This page is a nice reference of these 'combining' functions as well as distance functions for geometric primitives: link I think that combining power is one of the main reasons to use raymarching/distance functions: building procedural content this way is faaar easier than trying to knit triangle meshes together. Additionally, if anyone wants to go a little further on the subject of building up sophisticated content by raymarching distance functions, this is an excellent talk on the subject: ▶ this video