Personally, I think you'd need two things:
1) The ability to treat specific faces as quads or as non-polygonal surfaces.
2) Some amount of molecular knowledge of the substance making the object, IE how glass fragments.

I would treat the glass as one quad surface and from there make jagged fractures (perhaps based off a fractal pattern) in the glass surface and then tessellate it based off that. It would then be simple to shatter the pieces once broken apart like that.

For a box you'd have to know something about how the material behaves. A metal box would simply "smush" into itself when given enough pressure, but a cardboard box could split, crack, or deform oddly because of the pressure and irregularity of the striking angle.

If you are good with math all this stuff should be a relative cakewalk.