Decals in games are not talked about enough

Just a guy who loves to write code and watch anime.
What a decal is
A decal is a flat texture stuck onto an existing 3D surface. It doesn't add new geometry. It just paints something on top of what's already there.
Bullet hole on a concrete wall? Decal. Tire skid mark on the road? Decal. Blood splatter on the floor? Decal. Graffiti on a building? Decal. Footprint in the snow? Decal.
The 3D world stays the same. The decal is a layer of paint on top.
Why this matters
Without decals, every surface in a game would be locked to whatever the artist baked in. A bullet hole would have to be modeled into the wall geometry. Every wall, every variation, every surface you might shoot. Impossible.
Decals let the world react. The geometry stays static, but the surface tells a story. You shot here. A car drove here. Something bled here. Something exploded here.
Without decals, FPS games would feel dead. Walls wouldn't show you fired at them. Floors wouldn't show where the fight happened. The world wouldn't remember anything.
The two main approaches
There are two common ways to draw decals. Both produce the same visual effect, but they work very differently.
Approach 1: Mesh decals. Make a flat quad (4 vertices, 2 triangles), put it just barely above the surface, and texture it. Easy to understand. Problem: it floats. Walk close to it and you'll see Z-fighting (flickering as the GPU can't decide which surface is in front). Also, it doesn't conform to bumpy surfaces. A bullet hole on a curved barrel looks wrong because the quad is flat.
Approach 2: Projected decals (also called deferred decals). Define a 3D box in world space. Anywhere this box overlaps with existing geometry, project the decal texture onto that geometry's surface. The decal wraps around bumps, corners, and curves. No Z-fighting. This is what modern games use.
How projected decals work
The idea is borrowed from how a movie projector throws an image onto a wall.
Imagine a 3D box. Inside that box, the GPU finds whatever surface is already there (the wall, the floor, whatever). For each pixel of that surface, the GPU samples the decal texture and blends it on top.
The trick: this happens in screen space during rendering. You're not modifying the original geometry. You're just adding a pass that says "for any pixel inside this box, multiply by this texture."
That's why they're called deferred decals when they happen during the deferred rendering pass. They piggyback on geometry the GPU already drew. Almost free in terms of performance.
What decals can affect
A decal isn't just color. Modern engines let decals affect multiple properties of the surface:
Albedo (the base color). The bullet hole is dark.
Normal (the bumpiness). The bullet hole has a dent direction, so light catches it like it's recessed.
Roughness (how shiny vs matte). Wet blood is glossy. Dry concrete is rough. A decal can change which.
Metallic (whether it's metal). Less common but possible.
Emissive (whether it glows). Useful for things like neon graffiti or sci-fi runes.
So a single decal can simultaneously darken a wall, dent its lighting, and add wetness. All from one texture pass.
This is why decals look so good in modern engines. They're not just stickers. They're full material overlays.
Where decals shine
FPS games. Bullet holes, blood splatters, scorch marks. Every shot leaves evidence. The player feels the world reacting. CS, Call of Duty, every Counter-Strike, every Battlefield. All decal-heavy.
Racing games. Tire marks on asphalt, mud splatters, wet trails. Forza and Gran Turismo lean on this hard.
Horror games. Blood trails, claw marks, mysterious symbols on walls. Cheap to add, massively atmospheric.
Open world. Cracked roads, weathering, posters, graffiti. Decals let artists add detail without bloating the geometry.
Damage states. Bullet holes that build up over time on the same wall. The wall doesn't know it was shot. The decal system does.
Why decals are underappreciated
Particles are flashy. Shaders are sexy. Decals just sit there, quietly making everything feel real. That's the whole point. You're not supposed to notice them.
But strip them out of any modern shooter and it would feel lifeless. The world wouldn't remember anything. Every fight would happen in a pristine museum.
Decals are the layer of memory the world has. Particles happen and disappear. Decals stay.
Common gotchas
Limit overlap. Each decal is a render pass. Stack 50 bullet holes in the same spot and your frame rate drops. Most engines cap how many decals can affect a single pixel.
They expire. Most games fade decals out after a while. Not just for performance. Stale blood splatters from 30 minutes ago break immersion.
Surface direction matters. A bullet decal facing the wrong way looks like a sticker. The engine has to project it along the surface normal at the impact point.
Skinned meshes are hard. A decal on a moving character is much harder than a decal on a static wall, because the surface deforms. Most games don't bother and apply decals only to static geometry.





