Cel Shading
Flat-shaded stylization
Also known as: Toon shading · Cell shading
Definition
Cel shading is a non-photorealistic rendering technique that makes 3D models look like 2D animation by replacing smooth lighting falloff with hard, stepped bands of colour. Combined with ink-style outlines, cel shading produces the look seen in Genshin Impact, Borderlands, Hi-Fi Rush, and Disney Infinity. Implementation in modern engines uses a custom shader (lighting via a ramp texture) plus a screen-space or inverted-hull outline pass.
In production
Implementation in modern engines uses a custom shader (lighting via a ramp texture, typically a 1D gradient sampled by the dot product of the surface normal and light direction, quantized to 2-4 discrete bands) plus a screen-space or inverted-hull outline pass, where the mesh is duplicated, flipped inside-out, and pushed along its normals to render a black silhouette behind the model. Guilty Gear Strive pushed this further by baking painted highlight and shadow detail directly into hand-authored textures rather than relying purely on runtime shading, giving it a hand-drawn look under any camera angle. Unreal Engine 5 implements cel shading through custom Material Functions, while Unity developers commonly reach for the Universal Render Pipeline's Shader Graph with a Custom Function node driving the ramp lookup. A frequent pitfall is outline flicker on thin geometry when the inverted-hull offset is too large relative to the mesh's local scale, fixed by scaling the outline offset per-object rather than using one global value.