The only 3D method I know for decals is using projective texture mapping. The end result mimics the way a projector would display an image in real life. The process however is a bit different.
It’s hard to explain it in a brief description, but you basically use a biased matrix to convert a texture to the proper UV coordinates of a model. This is combined with a “look at” matrix. I should note any predefined UV coordinates for a model are not used nor needed for this. When I first started learning projective texture mapping, I often got tripped up thinking I needed to use the baked in UV coordinates of a model.
It’s a technique often used in conjunction with shadow mapping to project the shadows on to objects, so you may find some useful information in tutorials which talk about shadow mapping.
Here are some further explanations about projective texture mapping.
http://blog.wolfire.com/2009/06/how-to-project-decals/
www.arcsynthesis.org/gltut/Texturing/Tut17 Projective Texture.html
Unfortunately, I found the most accurate and best explanation to come from a book: OpenGL 4.0 Shading Language Cookbook.
http://www.packtpub.com/opengl-4-0-shading-language-cookbook/book
But before you go through all that, I would check through LibGDX to see if they’ve already got something to create the projective matrix for you. Maybe you’ll get really lucky and find they’ve got something set up for projecting. If not, you’re going to need to code your own shader.
Also Note: If you’re maintaining an orthogonal view, then using a depth buffer as DaveDes alluded to, may be easier to understand instead of applying a full 3D solution.