Quote:Any suggestions on easy ways to clip the decals? Or to bend them around corners where they lay on multiple faces?
The best reference I know of on this is Eric Lengyel's article 'Applying Decals to Arbitrary Surfaces' in GPG2. The book also comes with code for the implementation on a CD. My decal system is based on this method, and it works great.
The basic idea is as follows. You construct the decal from an intersection point (i.e. where a bullet hits) and the surface normal at that point. From this info you create a rectangular volume centered on the intersection point and aligned with the normal. The width and height of the volume are the desired width and height of the decal, and the depth is chosen as appropriate to include the appropriate polygons.
Then what you do is take each surface that intersects this volume, and add its triangles to the decal one by one. As the triangles are added, they are clipped to the volume so that only the portions inside the volume remain.
What you are left with is a decal surface that perfectly follows the contour of the surfaces it affects. You can then use the z-tweaking method of your choice to avoid z-fighting.
The implementation is a little involved, but it's not too bad. If you don't have GPG2, I highly recommend picking it up for the source code if nothing else.