Alex Evans at Umbra Ignite 2015: Learning From Failure
Media Molecule7 HN recommenders · recommended in 6 months, 2017–2026
talk · advanced · evergreen · 2017–2026 on HN
Media Molecule's Alex Evans recounts the journey, including the failures, of finding the Dreams engine, based on his Siggraph 2015 talk. It covers the signed-distance-field and splat-based rendering approach and the artistic goals behind it.
HN calls it an inspirational must-see on SDF rendering and a favorite tech talk for graphics programmers.
Up next
3 mo on HN35C3 - The Ghost in the Machine
media.ccc.de
3 HN recommender · 2020–2023
9 mo on HNThe Language of the System - Rich Hickey
ClojureTV
10 HN recommender · 2013–2025
11 mo on HNMaybe Not - Rich Hickey
ClojureTV
14 HN recommender · 2018–2025
3 mo on HNNVScene 2015 Session: How to Create Content with Signed Distance Functions (Johann Korndörfer)
NVScene
3 HN recommender · 2017–2018
3 mo on HNPRACTICE 2018: Joseph White
NYU Game Center
2 HN recommender · 2018–2022
7 mo on HNExploring the Tech and Design of Noita
GDC Festival of Gaming
7 HN recommender · 2020–2026
3 mo on HN"The Clean Code Talks -- Inheritance, Polymorphism, & Testing"
Google TechTalks
3 HN recommender · 2009–2023
11 mo on HNU.S. NAVY BASIC MECHANISMS OF FIRE CONTROL COMPUTERS MECHANICAL COMPUTER INSTRUCTIONAL FILM 27794
PeriscopeFilm
11 HN recommender · 2018–2026
13 mo on HNThe Beauty of Bézier Curves
Freya Holmér
16 HN recommender · 2021–2026
11 mo on HNThe Continuity of Splines
Freya Holmér
10 HN recommender · 2022–2026
10 mo on HNelevated by Rgba & TBC | 4k intro (FullHD 1080p demoscene demo)
Demoscene High-Quality Videos (Annikras)
7 HN recommender · 2013–2025
10 mo on HNPainting a Character with Maths
Inigo Quilez
13 HN recommender · 2021–2025
11 comments from Hacker News
(dev behind sculptgl, but I didn't make the HN story) Nice project! sculptgl is based on polygons (tris/quads only, and using webgl for rendering). As for the other project it was just as a quick and dirty experiments :). link link On Unity there is Clayxel and more recently Mudbun, both based on implicit surfaces. And obviously, the Dreams presentation which is an inspirational must see ▶ this video
The Dreams team made a nice talk at SIGGRAPH 2015, if you want to check it out: * Slides (good notes): link * video: ▶ this video
Another way to do blobby geometry are signed distance fields (SDFs). You define different geometry solids by specifying function which returns for any point in space how far that point is from the surface of the solid. [1] If they are defined this way, it is easy to smoothly interpolate between two or more solids. When rendering to screen, similar techniques have to be used to convert to screen geometry in realtime. The latest technical marvel that uses this tech is Media Molecules Dreams. With SDFs they made rich modelling tools (constructive solid geometry) that produce geometry for physics and painting-style renderer, all running on PS4. The Learning From Failure talk [2] was quite inspiring on lengths they went to achieve their artistic goals. [1] link [2] ▶ this video
I was actually looking for some resources on this but couldn't find much. Do you have any pointers? I saw Alex Evan's excellent talk from 5 years ago [1], which sparked my interest. [1] ▶ this video
There's so much misunderstanding and wrong terminology surrounding voxels. Voxels are a way to store world data in memory, basically 3d bitmaps. They won't give you infinite details, just the opposite - they can only give you single '3d resolution'. To actually get infinite details, you have to switch underlining world representation from static data (meshes, voxels) to mathematical (perlin noise, fractals). Here you make an important trade-off - mathematical representation is harder to make changes to, because each modification would increase complexity of math formula used to describe the world. You can see lot of deformations in voxel demos but they are global transformations (scale, shear). Minecraft uses hybrid approach. Inital world is described by math (called world generation) but it's then serialized (sampled) as data with specific voxel size, that you can easily manipulate. Edit: another, IMO far more impressive approach is Media Molecules' upcoming Dreams software that uses constructive solid geometry and sparse distance fields to describe and manipulate 3d geometry. Here's a detailed tech talk: ▶ this video
Alex Evan's talk on developing the renderer for Dreams: He's given several versions of this talk (including the Advancements in Real-time Rendering course at Siggraph), but here's one available online: ▶ this video
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 ( link ). 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 ( ▶ this video ) 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
As you can tell, I'm patient :) A very important quality for any ray tracing enthusiast lol The ability to do irregular sampling, efficient shadow computation (every flavour of shadow mapping is terrible!) and global illumination is already making its way into games, and path tracing has been the algorithm of choice in offline rendering (my profession since 2010) for quite a while already. Making a flexible rasterisation-based renderer is a huge engineering undertaking, see e.g. Unreal Engine. With the relentless march of processing power, and finally having hardware acceleration as rasterisation has enjoyed for decades, it's going to be possible for much smaller teams to deliver realistic and creative (see e.g. Dreams[0]) visuals with far less engineering effort. Some nice recent examples of this are Teardown[1] and Tiny Glade[2]. It's even more inevitable from today's point of view than it was back in the 90s :) [0] Dreams: ▶ this video [1] Teardown: link [2] Tiny Glade: link
There're already games fully using SDF rendering, such as Dreams [0]. It even made a SIGGRAPH talk [1]. [0] link [1] ▶ this video
You could probably already make something compelling like a small myst-style game that uses largely static assets with existing tools, taking advantage of being able to render real world environments with high fidelity. However for more typical games there's still a long way to go. Most of the research focus has been towards applications where existing mesh-based approaches fall short (eg. photogrammetry), but this isn't really the case for modern game development. The existing rendering approaches and hardware have largely been built FOR games and leveraged elsewhere. Rebuilding the rendering stack around an entirely new technology is a tall order that will take a long time to pay off. That being said, the technology is promising in a number of ways. You even have games like Dreams (2020), which was built using custom splat rendering to great effect ( ▶ this video ).
Does anyone have an impression of how it compares to Alex Evan's SDF engine[0] used in Dreams? Is it primarily a space compression? I've been looking out for anything outside of media molecule that can come close to it's detail-representation and performance A big part of the secret sauce there seems to be what he called a Compute Shader of Doom used to optimize the brush strokes into the SDF - I'd love to know that shader works! [0] ▶ this video