This becomes a problem when decals are applied to corners and half of the decal hangs out into space. Quake3 Arena installed you can watch it clip decals as they are applied to the world geometry while running in wireframe mode. Another shortcoming of this method is that a decal can only fall on one plane. An improvement would be to add a decal radius or something similar and determine which faces the decal could possibly be applied to and then fragment the decal so it can be applied to all of those faces. You can download the demo here .
Source code is provided as usual.
Please see the readme.txt included with the demo for more information. Well, I hope that you find the article and demo useful in some way or another. I went looking on the net to see what other people had done and found out that there was very little information available. So, once I had my own code working well I decided to write this document since I felt obligated to share with others what I learned. Hopefully this document will help someone learn along the way.