Decals vs Partial texture update


What is the best practice (for performance) dealing with skinned mesh using decals (here) or texture update (here)? Decals example seems to be fps greedy way in case of hi-poly skinned mesh due to it consists of whole positions attribute recalculations as well as normal etc ? If I need customize skinned mesh by adding some details such as scars, tatoo, etc… I believe the best approach will be texure update but not decals? In this case what is the main advantage of decals over texture update (from description “adding unique details to models” seems to be disadvantage in this case) ? Only covering seam?
Thanks in advance!

Decals are normally projected in static 3D objects. A typical example for this would be the level geometry of a game.

The decal projection is no trivial computation. Hence, it is no good idea to execute this logic per frame. Also updating the existing projections to support animated models requires some computational work. I’m referring here to techniques like morph targets or skinning which deform the objects surface and thus require an update of the decal.

Maybe you can use some ideas from the following PR:

Using decals is actually more flexible than modifying the diffuse texture. Especially when modifications of a texture surface should disappear after a while or if they can be deleted by the user, you need to store a copy of the original texture in memory.

Thanks for an explanation!