The topic of this lecture is stylized face shadow, with a focus on one practical application of SDF, or Signed Distance Field, in stylized rendering. The goal is not to create fully physically accurate lighting. Instead, I want the shadow on the character's face to respond to the light direction while still staying clean, stable, and readable. Realistic lighting usually follows geometry, material, and light behavior, but stylized face lighting cares more about a designed shadow shape. In other words, the shadow should feel closer to an illustration, instead of being completely controlled by small details on the model surface.
In the first part, I will briefly review basic Toon Shading and explain why it often fails on the face. Hard Threshold and Soft Threshold methods can create a clear light and shadow separation, but the face has many complex forms. Areas like the nose, eye socket, and cheek can easily create broken or unstable shadow shapes. For anime-style or illustration-style characters, this result is often not controllable enough and not very artist-friendly.
After that, I will compare several possible approaches, including Proxy Mesh Normals, Edited Topology and Normals, and a more direct Edited Normals workflow. These methods can all improve face lighting to some degree, but they have different costs in terms of control, maintenance, and visual stability. The main focus of the lecture will then move to SDF Shadow, because it allows us to separate the shadow shape from pure geometry-based lighting and let artists define a cleaner shadow boundary through texture.
The core idea of SDF is that each pixel stores more than a black or white mask value. It stores the distance to the nearest boundary, and also which side of the boundary the pixel is on. With this, a simple binary mask can become a continuous threshold map. Once this map is used in the shader, we can sample the Face SDF Shadow Threshold Map based on the light direction, so the shadow can transition between different directions while keeping the overall shape readable.
The final part of the lecture will explain how this texture is generated. The workflow starts by drawing binary masks for different shadow states, converting them into SDF maps, calculating intermediate transition textures, and then combining those transitions into the final threshold map used by the shader. This section is closer to the actual production workflow, and it also explains why the texture can record how the shadow shape changes over time or direction.
If time allows, I will also briefly introduce several ways to calculate SDF maps, including the most direct but slow Brute Force method, the more practical CPU-based 8SSEDT method, and JFA, which is more suitable for parallel processing on the GPU. Overall, this lecture starts from a visual target and follows the process through solution choice, shader usage, and texture generation, showing the Tech Art workflow behind a stylized rendering effect.