<p>Signed distance fields are popular in minimal graphics applications, such as the demo scene, where interesting objects can be synthesized from few simple analytic primitives such as spheres or cubes. However, signed distance fields are not restricted to these simple objects, and they do not necessarily need to be designed by a human. For example, you can synthesize the analytic signed distance field of a triangle mesh without any artist interaction - the SDF is just the signed distance to the closest triangle after all, which can be easily computed. This allows you to keep using your traditional mesh pipeline while also using SDFs in the background.</p>

<p>In the case of the Unreal Engine, the SDF is precomputed automatically once for all static meshes and is then sampled into a low-resolution 3D texture. It can then be cheaply evaluated everywhere using a simple texture lookup, allowing them to do soft shadows and similar at runtime. <a href="http://www.nvidia.com/content/pdf/gdc2011/epic.pdf">This Unreal presentation</a> at GDC 2011 mentions the 3D textures briefly (slide 27).</p>

CC BY-SA 3.0
2015-08-05T09:10:38.670Z
It's also easy to generate an SDF from a voxel model.
Nathan Reed
CC BY-SA 3.0
2015-08-07T14:32:46.747Z
There's an article on GPU Gems 3 about the construction of signed distance fields for arbitrary meshes using the GPU, which is freely available here: http://http.developer.nvidia.com/GPUGems3/gpugems3_ch34.html
Matteo Bertello
CC BY-SA 3.0
2015-08-05T08:40:01.477Z
2015-08-05T08:40:01.477Z
Benedikt Bitterli
<p>In traditional computer graphics, most 3D models are rendered by rasterizing or ray tracing against a subdivided mesh of primitives, usually triangles or quads. <a href="https://docs.unrealengine.com/latest/INT/Engine/Rendering/LightingAndShadows/RayTracedDistanceFieldShadowing/index.html">More recently</a>, some real-time techniques have been predicated on ray-tracing against signed distance fields (SDFs). Intuitively, these distance fields cannot be the same triangles and quads of traditional rendering and must be something like 3D geometric primitives (cubes, spheres, etc.) in order to get proper shading. Is this true? If not, can complex scenes of "traditional" 3D models be represented using SDFs? If it is true, then how do artists create high-detail models used in SDF renderers?</p>

<raytracing><signed-distance-field>
Asset creation for signed distance field rendering?
Mokosha
# Asset creation for signed distance field rendering?

(Asked by: username_0 on 2015-08-05)

In traditional computer graphics, most 3D models are rendered by rasterizing or ray tracing against a subdivided mesh of primitives, usually triangles or quads. [More recently](https://docs.unrealengine.com/latest/INT/Engine/Rendering/LightingAndShadows/RayTracedDistanceFieldShadowing/index.html), some real-time techniques have been predicated on ray-tracing against signed distance fields (SDFs). Intuitively, these distance fields cannot be the same triangles and quads of traditional rendering and must be something like 3D geometric primitives (cubes, spheres, etc.) in order to get proper shading. Is this true? If not, can complex scenes of "traditional" 3D models be represented using SDFs? If it is true, then how do artists create high-detail models used in SDF renderers?

**Tags:** raytracing, signed-distance-field


---

## 1 answers

### Answer by username_1 on 2015-08-05. Score: 8 | Accepted answer

Signed distance fields are popular in minimal graphics applications, such as the demo scene, where interesting objects can be synthesized from few simple analytic primitives such as spheres or cubes. However, signed distance fields are not restricted to these simple objects, and they do not necessarily need to be designed by a human. For example, you can synthesize the analytic signed distance field of a triangle mesh without any artist interaction - the SDF is just the signed distance to the closest triangle after all, which can be easily computed. This allows you to keep using your traditional mesh pipeline while also using SDFs in the background.

In the case of the Unreal Engine, the SDF is precomputed automatically once for all static meshes and is then sampled into a low-resolution 3D texture. It can then be cheaply evaluated everywhere using a simple texture lookup, allowing them to do soft shadows and similar at runtime. [This Unreal presentation](http://www.nvidia.com/content/pdf/gdc2011/epic.pdf) at GDC 2011 mentions the 3D textures briefly (slide 27).

> **Comments:**
> **username_2**: It's also easy to generate an SDF from a voxel model.  
> **username_3**: There's an article on GPU Gems 3 about the construction of signed distance fields for arbitrary meshes using the GPU, which is freely available here: http://http.developer.nvidia.com/GPUGems3/gpugems3_ch34.html  

---

