Thanks to everyone for the answers, I'll read up on the suggestions and make a choice.

Brian Meidell

Jon Watte wrote: wrote:
Try this:

I implemented pretty much the same thing for real-time packing of 
dynamic light maps for an XNA/Xbox program, and it did work very well. 
Leakage/loss was generally less than for a typical power-of-two 
quad-tree based allocator.