Important update. Hello there. I'm making a decal system, I plan to support mesh, vertex, deferred and texture decals. I've started with the hardest one in my opinion which is mesh decals on skinned meshes, and fortunately it's done already. It still needs to be threaded but it's working fine at the moment. For each skinned mesh hit by a decal, a new skinned mesh containing only the affected area is created, subsequent decals on the same object are added to the same skinned mesh so all decals in this case are drawn in a single call. You can't go more efficient that that I guess. Here's a link to the WebGL build: https://googledrive.com/host/0B6RP3uoh07LuRnlVUldrRzFURkk/ Another demo: https://googledrive.com/host/0B6RP3uoh07LuX1ZzdnZOUnFxNVk/ To test it, just click on the stuff, decals should appear. "R" key resets the scene. Please note that it may take some seconds to show the loading bar. Please lemme know if the test works for you, and sorry for the horrendous monkey mesh physics . Click the spoiler to expand tech stuff: Spoiler The hardest part was space conversion... the fact that skinned meshes 'snapshots' are scaled almost drove me crazy... I had to revamp a lot of code that was working fine for non-skinned meshes. I ended up making a quite cool 'viewer' for matrix operations: The yellow box is the projector, the yellow line is the direction, the blue dots are a representation of the black wireframe mesh converted to the yellow box local space and the cyan ray is the representation of the yellow line in that space. After doing that matrix conversions became much easier to debug. Matrix transformations are cool .